朋的博客

MySQL资料,Java技术,管理思想,博弈论,Ajax,XP极限编程,H.264,HEVC,HDR
随笔 - 86, 文章 - 59, 评论 - 1069, 引用 - 0
数据加载中……

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

Mustang JVM (1.6)与Tiger JVM(1.5)性能对比

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

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


Benchmark
的配置

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

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


测试用到的JVM

Sun Client JVM 1.6.0-beta-b59g :

l         Jdk-6-beta-windows-i586

l         Options used: -server –Xmx128m (default)

Sun Client JVM 1.5.0_01-b08 :

l         Jdk-1_5_0_01-windows-i586-p

l         Options used: -server –Xmx128m (default)

在这里我补充一下,JVM的启动Option我没有进行配置,因为这里做的只是在通常情况下Mustang(1.6)和Tiger(1.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
:64+64KB L1 Cache+258 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 了,好像要收费,不便宜,所以……咳咳,不多说了,谁要是知道这个免费了请通知一下。

posted on 2006-05-01 16:00 benchensz 阅读(4948) 评论(7)  编辑  收藏 所属分类: 随便写写(比较有用,值得看看)

评论

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

1.6走向末年了吗?并不觉的,1。6的改动也是相当大,我相信JAVA前景还是不错的。
2006-05-01 21:30 | dennis

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

我也相信java
2006-05-01 22:23 | sss

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

上面的数据是你自己测的吗?
Java到迟暮之年了吗?我看未必。看一个语言的前途,不单单是他的性能,我认为更应该是它成功应用的案例。这就如同要让得99分的人通过检查试卷把分数提高到100分的难度>>让60分的人通过检查试卷,把分数提高到70分一样。
2006-05-02 00:01 | 学二的猫

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

@学二的猫
是自己测试的,我也很同意你的看法,其实1.4的Java已经很完备了。

Java是否暮年只是引别人的看法,其实Java Mustang的JVM的速度比1.5的确实增加了很多,已经有很多人做过测试。而我这里测试的只是Mustang DEMO JVM的旧版本,而且只是单项网络负载测试,并不能体现1.6 JVM的实际情况。

但是有一点是确信的,那就是很快相信会有一门语言像当年的Java一样迅速崛起,然后变成几十年后的Java。
2006-05-02 01:12 | 陈朋奕.

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

http://spaces.msn.com/arisoyang/blog/cns!81C25FF4FF8F2CA7!299.entry?_c11_blogpart_blogpart=blogview&_c=blogpart#permalink

楼上,请看我自己的测试结果. 实际上jdk1.6比1.5速度快很多的.
2006-05-05 11:01 | ariso

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

任何一种编程语言都不可能淘汰,只会越来越少的人使用。
2006-05-08 08:18 | sun

# re: Mustang JVM(1.6)与Tiger JVM(1.5)单项性能测试  回复  更多评论   

在对象模型这个概念上估计没有新的编程语言能与JAVA相比,除非有新的开发模式出现。才会有可能有新的编程语言出世来超过JAVA。但是JAVA也有他的局限性。这段时间ASP。NET的出现,也对我坚持JAVA的阵地有点松动。
2006-06-09 10:24 | Samuel-ZT