谁在偷你的记忆? 应用服务器版
您創(chuàng)建了一個了不起的應用程序。 您將其投入生產(chǎn)。 您會發(fā)現(xiàn)您沒有足夠的可用內(nèi)存。 即使您的所有測量結果(可能是借助我們的小型公用事業(yè)公司進行的測量 )都表明您應該還不錯。
我們計劃發(fā)布一系列博客文章,研究堆消失的位置,并從基礎結構版本開始。 今天的假設–我的應用程序服務器可能會成為消耗我所有寶貴內(nèi)存的貪婪的混蛋嗎?要找出答案,我們在五臺應用程序服務器上進行了少量測試。
女士們,先生們,讓我們介紹一下參賽者:
- Oracle Weblogic 12.1.1
- 玻璃魚 3.1.1.2
- RedHat JBoss AS 7.1.1
- Apache Tomcat 7.0.30
- 碼頭 8.1.7
您可能會說,我們這里將蘋果與橙子進行比較–通過擁有完整的Java EE配置文件(例如Weblogic,Glassfish和JBoss),與Web容器(如Jetty或Tomcat)競爭。 但是–我們已經(jīng)看不到看到僅運行servlet的IBM或Oracle部署的情況了,因此我們認為在同一頁面上看到所有提到的通用容器將是一個啟發(fā)。
在開始進行測量之前,我們想向Weblogic團隊致以一些個人問候。 用于壓縮沒有根文件夾的歸檔文件。 跟蹤地獄實際上是什么,我發(fā)現(xiàn)了一些樂趣。 其次,向JBoss致敬。 我花了10分鐘瀏覽他們的網(wǎng)站來了解要下載什么。 非常感謝IBM 。 他們的WebSphere不能安裝在Mac上。
但是我們并不打算讓這個職位成為出色的續(xù)集,“ 一切都打破了,沒有人難過” 。 因此,讓我們繼續(xù)比賽吧。 到現(xiàn)在為止,我們所有的容器都已下載并準備參與。 我們進行的測試包括每1000毫秒后啟動所有容器并收集數(shù)據(jù)。 我們非常喜歡這種競賽的科學方法,而且我們也很懶。 這種結合導致我們使用了內(nèi)部構建的另一個小實用程序 ,并將所有無聊的工作委托給了stats文件。 使用與JVM本身捆綁在一起的JMX API收集了數(shù)據(jù)。 收集的數(shù)據(jù)包含可用于JVM的總內(nèi)存和未分配的內(nèi)存大小。
所有容器均以“現(xiàn)成的配置”啟動,除了將統(tǒng)計實用程序添加到服務器啟動腳本之外,我們沒有進行任何其他更改。 唯一的例外是Weblogic,其PermGen空間已調(diào)整為絕對精度–當我們附加由兩個java類組成的代理時,最后出現(xiàn)一條錯誤消息,提示您增加PermGen的大小。
在整個測試中,我們沒有在服務器上部署任何東西,也沒有以任何方式使用服務器,包括捆綁的管理員實用程序。 在我們使用kill -9 <pid>殺死所有服務器之前,所有服務器都有90分鐘的運行時間。
用于執(zhí)行測試的機器是運行OS X Mountain Lion的2010年老式64位Macbook Pro。 測試中使用的JVM是Oracle HotSpot 1.6.0_35。
但是足夠的背景。 結果不言自明:
從圖中可以看出,Tomcat是明顯的贏家,它僅消耗了15.63MB的內(nèi)存 。 Weblogic要求在圖表的另一端增加兩倍以上的容量,僅為其自身分配33.73MB 。
老實說,我們最驚訝地發(fā)現(xiàn)Jetty僅位于第三名。 在測試之前,我們團隊內(nèi)部進行的首輪下注顯然使Jetty具有最小的內(nèi)存占用。 但是,沒有,它只有19.66MB ,在Glassfish和JBoss之間僅排名第三,分別消耗了23.26MB和18.89MB 。
總而言之,即使是我們競爭中的明顯失敗者,也很可能不應對您的應用程序的內(nèi)存問題負責。 當然,除非您使用的內(nèi)存非常有限。
我們計劃通過排列流行的框架來繼續(xù)該系列,以查看在開始在典型的Java EE應用程序中編寫一行代碼之前會損失多少內(nèi)存。 您想在比賽中看到什么框架? 通過包含@JavaPlumbr的鳴叫讓我們知道。
參考: 誰在竊取您的記憶? Plumbr博客博客上的JCG合作伙伴 Nikita Salnikov Tarnovski提出 的Application Servers Edition 。
翻譯自: https://www.javacodegeeks.com/2012/12/who-is-stealing-your-memory-the-application-servers-edition.html
總結
以上是生活随笔為你收集整理的谁在偷你的记忆? 应用服务器版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开放式理财可以随时赎回吗?
- 下一篇: 开放式理财最低持有几天什么意思?