本文向大家描述一下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
感觉有点不太对劲,重新启动电脑再试了一遍:
转载地址:http://developer.51cto.com/art/201009/227514.htm