探究JVM1.6与JVM1.5性能差距

开发 后端
这里先介绍一下用来做JVM性能评测的软件——VolanoBenchMark,这是一个纯粹用Java写出来的服务器benchmark评测的软件,通过此工具我们能清楚的看到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

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

JVM测试结果#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了,好像要收费,不便宜,所以……咳咳,不多说了,谁要是知道这个免费了请通知一下。

【编辑推荐】

  1. 全面认识JVM垃圾回收机制
  2. JVM、JRE、JDK的区别和联系
  3. 探索Java工作原理之JVM内存回收
  4. 实例解析Linux平台的JVM性能评测
  5. 深入JVM:ClassLoader相关知识简介

 

责任编辑:佚名 来源: blogjava.net
相关推荐

2009-07-10 16:17:41

JVM 1.6

2010-09-16 14:42:44

JVM

2010-09-27 08:38:49

JVM堆JVM栈

2020-04-15 21:43:22

JVMJavaVMware

2021-08-09 16:39:52

工具JVM剖析

2018-11-01 10:34:37

JVM内存配置

2012-01-11 13:04:40

JavaJVM

2012-12-14 01:52:49

JVM淘宝JVMtaobao jvm

2020-08-10 17:49:25

JVM内存溢出

2019-12-04 09:47:55

TomcatJVM性能

2023-04-24 14:54:09

JVM性能调优

2017-09-20 08:48:09

JVM内存结构

2021-11-21 23:03:38

jvm调优虚拟机

2011-12-05 12:59:22

JavaJVM

2010-09-26 16:55:31

JVM学习笔记

2010-09-25 14:45:47

LinuxJVM

2017-07-21 08:55:13

TomcatJVM容器

2019-02-19 10:25:28

JVM性能工具

2021-12-06 11:03:57

JVM性能调优

2013-10-16 10:45:29

JVMJava
点赞
收藏

51CTO技术栈公众号