Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试

Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试

Mustang JVM 1.6)与Tiger JVM1.5)性能对比

这里先介绍一下用来做JVM性能评测的软件——Volano BenchMark,这是一个纯粹用Java写出来的服务器benchmark评测的软件。其实这本来是个WebChat的软件,制作者在Chat App的功能基础上发展出这个对JVM性能测试的小软件,用来在不同硬件配置的机器上或者是不同Kernel的操作系统上对不同的JVM进行性能测试。它是通过对服务器建立多个客户端的连接来测量客户端程序广播批量信息所需要的时间,从而达到对JVM性能测试的结果。

其实这个软件能对服务器的以下方面性能进行评测:调度程序,TCP/IPEthernet Driver的网络吞吐及响应,Pthreads线程,SMPSymmetric Multi Processing对称多处理)性能测量。


Benchmark
的配置

  • CHAT 房间数量:10
  • 每个房间用户数量:20
  • 每个用户信息量:1000

服务器和客户端都在同一台电脑上


测试用到的JVM

Sun Client JVM 1.6.0 -beta-b 59g

l         Jdk-6-beta-windows-i586

l         Options used: -server –Xmx 128m (default)

Sun Client JVM 1.5.0 _01-b08

l         Jdk-1_5_0_01-windows-i586-p

l         Options used: -server –Xmx 128m (default)

在这里我补充一下,JVM的启动Option我没有进行配置,因为这里做的只是在通常情况下Mustang1.6)和Tiger1.5)的对比,所以选用server还是Client/Hotspot、预分配Heap的大小是 128M 还是 512M 就不去讨论了。如果大家需要更深的讨论欢迎一起讨论,这里我个人感觉-server是比-Client(也就是Java选项中的Hotspot)快,启动会慢一点,但运行速度比较快。同时这里不使用Net模式进行测试,只使用Loop


硬件配置

OS Microsoft Windows XP [版本 5.1.2600] (Service Pack 2)
CPU
AMD Athlon(tm) XP 2200+ Thoroughbred-B Processor(0.13μm)
Memory
512MB
Cache
6464KB L1 Cache258 KB L2 Cache

测试结果:

测试结果是以每秒信息数量来衡量的,测试结果取5次测试去掉最高和最低后的平均值:

JVM

指标

1

2

3

4

5

1.6 β JVM

Mustang

持续时间(秒)

46.235

43.5

45.063

44.016

44.719

平均吞吐量

8651

9195

8876

9088

8945

1.5 JVM

Tiger

持续时间(秒)

47.828

43.125

42.266

41.984

42.359

平均吞吐量

8363

9275

9464

9527

9443

测试结果:

Mustang JVM 1.6 β: 8969.667

Tiger JVM 1.5 9394

感觉有点不太对劲,重新启动电脑再试了一遍:

JVM

指标

1

2

3

4

5

1.6 β JVM

Mustang

持续时间(秒)

46.312

44.063

44.11

44.109

44.953

平均吞吐量

8637

9078

9068

9068

8898

1.5 JVM

Tiger

持续时间(秒)

46.813

43.621

42.512

42.684

43.012

平均吞吐量

8663

9145

9435

9456

9426

测试结果:

Mustang JVM 1.6 β: 9011.333

Tiger JVM 1.5 9335.333

1.5 JVM 还是比 1.6 β的性能好。个人有点不是很理解,当然这里没有去考虑使用 Server 还是 Client 以及其他因素,但作为一个普通的应用程序开发者,β版的 1.6JVM 的效能并没有让我们看到惊喜。

后话:

国外一个 Blog 的专栏作家们曾经说到, 1.5 版是 Java 的巨大改进,但 1.6 让我们看到了走向暮年的 Java ,但坚信 Java 不会 Die out ,因为我们从 COBOL 或者 C++ 那些语言可以看到,即使是在这个年代,我们仍然可以看到 COBOL C++ 的广泛应用,他们已经活了数十年了,而 Java 10 多岁, Java 的用户群体是有史以来最多的,所以相信 Java 会变强。但也相信很快会有另一个年轻的“ Java ”来代替已老的 Java ,正如当初 Java 横空出世一样。

我的评测结果也许有很多错误的地方,欢迎大家指出,同时我这里使用的 Mustang JVM Demo 版里面比较老的,也许这是对结果影响的一个重要因素, Sun Java 网站也曾有评测结果对两个 Demo 版的 Mustang JVM Tiger JVM 进行评测,结果也是如此,旧版的 Mustang JVM Tiger 性能还低,但新版 Mustang JVM 能比 Tiger 超出 30 40 个百分点,但我不确定使用的是否为旧版。

如果大家想要自己使用 VolanoBenchmark JVM 以及网络吞吐情况和服务器性能进行测试,我可以提供简要的教程。这里除了 Volano 外其实还有几个对 Java 服务器性能进行测试的软件,我所有三个,大家可以去看看:

RUBiS benchmark Object Web JMOB 项目之一,不要说不知道 Object Web 是什么,它是国际开源中间件联盟管理团体的网站,这个测试工具的功能是三个中最强大的了。本人没时间去接触,所以就不使用她了。推荐使用!

VolanoMark ,不多说了,免费而且简单上手,在 Windows 环境下需要 cygwin 才能运行(其实只是为了运行 shell 文件,如果你对自己的 Dos Batch 水平有信心也可以改造成不用 cygwin )。能对服务器性能、网络性能以及应用程序性能做测试。如果需要使用帮助的可以留言,或者来信chenpengyi#gmail.com。

最后一个就是 SPECjbb2000 ,以前叫 2000 ,现在更名 2005 了,好像要收费,不便宜,所以……咳咳,不多说了,谁要是知道这个免费了请通知一下。

你可能感兴趣的:(Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试)