探究JVM1.6與JVM1.5性能差距
本文向大家描述一下JVM1.6與JVM1.5性能的差距,通過測試工具VolanoBenchMark,我們能清楚的看到兩者的差距,以及新軟件的進步。其實這本來是個WebChat的軟件,制作者在ChatApp的功能基礎上發展出這個對JVM性能測試的小軟件,用來在不同硬件配置的機器上或者是不同Kernel的操作系統上對不同的JVM進行性能測試。它是通過對服務器建立多個客戶端的連接來測量客戶端程序廣播批量信息所需要的時間,從而達到對JVM性能測試的結果。
橫向對比JVM1.6與JVM1.5性能
其實這個軟件能對服務器的以下方面性能進行評測:調度程序,TCP/IP及EthernetDriver的網絡吞吐及響應,Pthreads線程,SMP(SymmetricMultiProcessing對稱多處理)性能測量。
Benchmark的配置
CHAT房間數量:10
每個房間用戶數量:20
每個用戶信息量:1000
服務器和客戶端都在同一臺電腦
測試用到的JVM
SunClientJVM1.6.0-beta-b59g:
Jdk-6-beta-windows-i586
Optionsused:-server–Xmx128m(default)
SunClientJVM1.5.0_01-b08:
Jdk-1_5_0_01-windows-i586-p
Optionsused:-server–Xmx128m(default)
在這里我補充一下,JVM的啟動Option我沒有進行配置,因為這里做的只是在通常情況下Mustang(1.6)和Tiger(1.5)的對比,所以選用server還是Client/Hotspot、預分配Heap的大小是128M還是512M就不去討論了。如果大家需要更深的討論歡迎一起討論,這里我個人感覺-server是比-Client(也就是Java選項中的Hotspot)快,啟動會慢一點,但運行速度比較快。同時這里不使用Net模式進行測試,只使用Loop。
硬件配置
OS:MicrosoftWindowsXP[版本5.1.2600](ServicePack2)
CPU:AMDAthlon(tm)XP2200+Thoroughbred-BProcessor(0.13μm)
Memory:512MB
Cache:64+64KBL1Cache+258KBL2Cache
測試結果:
測試結果是以每秒信息數量來衡量的,測試結果取5次
測試去掉***和***后的平均值:
測試結果:
MustangJVM1.6β:8969.667
TigerJVM1.5:9394
感覺有點不太對勁,重新啟動電腦再試了一遍:
#p#
JVM1.6與JVM1.5測試結果:
MustangJVM1.6β:9011.333
TigerJVM1.5:9335.333
JVM1.5的還是比JVM1.6β的性能好。個人有點不是很理解,當然這里沒有去考慮使用Server還是Client以及其他因素,但作為一個普通的應用程序開發者,β版的1.6JVM的效能并沒有讓我們看到驚喜。
橫向對比JVM1.6與JVM1.5性能后話:
國外一個Blog的專欄作家們曾經說到,1.5版是Java的巨大改進,但1.6讓我們看到了走向暮年的Java,但堅信Java不會Dieout,因為我們從COBOL或者C++那些語言可以看到,即使是在這個年代,我們仍然可以看到COBOL和C++的廣泛應用,他們已經活了數十年了,而Java才10多歲,Java的用戶群體是有史以來最多的,所以相信Java會變強。但也相信很快會有另一個年輕的“Java”來代替已老的Java,正如當初Java橫空出世一樣。
我的評測結果也許有很多錯誤的地方,歡迎大家指出,同時我這里使用的Mustang的JVM是Demo版里面比較老的,也許這是對結果影響的一個重要因素,Sun的Java網站也曾有評測結果對兩個Demo版的MustangJVM和TigerJVM進行評測,結果也是如此,舊版的MustangJVM比Tiger性能還低,但新版MustangJVM能比Tiger超出30~40個百分點,但我不確定使用的是否為舊版。
如果大家想要自己使用VolanoBenchmark對JVM以及網絡吞吐情況和服務器性能進行測試,我可以提供簡要的教程。這里除了Volano外其實還有幾個對Java服務器性能進行測試的軟件,我所有三個,大家可以去看看:
RUBiSbenchmarkObjectWeb的JMOB項目之一,不要說不知道ObjectWeb是什么,它是國際開源中間件聯盟管理團體的網站,這個測試工具的功能是三個中***大的了。本人沒時間去接觸,所以就不使用她了。推薦使用!
VolanoMark,不多說了,免費而且簡單上手,在Windows環境下需要cygwin才能運行(其實只是為了運行shell文件,如果你對自己的DosBatch水平有信心也可以改造成不用cygwin)。能對服務器性能、網絡性能以及應用程序性能做測試。如果需要使用幫助的可以留言,或者來信chenpengyi#gmail.com。
***一個就是SPECjbb2000,以前叫2000,現在更名2005了,好像要收費,不便宜,所以……咳咳,不多說了,誰要是知道這個免費了請通知一下。
【編輯推薦】