本文向大家简单介绍一下Linux平台的JVM性能评测,在Linux平台上,Sun的Hotspot性能很一般,不如同样环境下Windows下的Hotspot表现好。
创新互联-专业网站定制、快速模板网站建设、高性价比永吉网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永吉网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永吉地区。费用合理售后完善,10余年实体公司更值得信赖。
Linux平台的JVM性能评测
在Linux平台上,Sun的Hotspot性能很一般,不如同样环境下Windows下的Hotspot表现好;IBM的JVM无论在Linux还是Windows平台性能很卓越,不过IBM主要还是把精力放在Linux/Unix平台上,它的Windows平台的JVM到1.3.1性能口碑很好,但是以后就没有再单独发布新版本,因此从IBM网站也只能下载到Windows下1.3.1版本JVM,至于Linux平台下的1.4.1版本的JVM性能表现尚待检验;
而BEA的JRockit针对Intel的CPU进行了指令优化,作为服务器的JVM来说在业界似乎一向评价颇好,但是我还不清楚JRockit在Linux上表现如何。这次我是要在SuSELinux上跑jroller,因此主要关注3个JVM在我的SuSE9上面的性能表现。
因为要作为网站服务器来使用,因此我还比较关注JRockit和IBMJVM的License问题,分别查了一下BEA和IBM的协议,看到这两个JVM都是可以免费使用,不管是开发目的,还是产品目的,如果是购买了其公司其他产品,那么可以得到免费的JVM方面的support,如果只是从网站下载使用其JVM,那么就没有免费的support,但是有商业付费的support。
在TSS上面有一个关于JRockit的Thread:
http://www.theserverside.com/news/thread.tss?thread_id=22895
IBMJVM处理数学运算速度最快,BEAJVM处理大量线程和网络socket性能***,而SunJVM处理通常的商业逻辑性能***。不过Hotspot的Servermode被报告有稳定性的问题。而他尚未有机会尝试一下***的JRockit。
架设Blog系统我最关心的其实还是JVM的多线程处理能力和网络socket处理能力,因此使用著名的VolanoMarkBenchmark进行了这方面的测试
VolanoMarkBenchmark是一个JVM性能测试程序,任何人都可以自己下载来测试:
http://www.volano.com/benchmarks.html
这是2003年5月的测试报告
http://www.volano.com/report/
我下载了VolanoMarkBenchmark,在Server上面分别安装了Linux版本的JRockit1.4.2,SunJDK1.4.2,和IBMJDK1.4.1。修改了一下VolanoMark的测试脚本(有些小问题)。VolanoMark测试主要是运行Volano自己开发的一个chat的webapplication,然后从客户端进行压力测试,统计webapplication单位时间内处理并发请求的能力。测试主要有两项:
1、Loopback测试
不进行网络传输测试,因此可以测试出来JVM的performance
2、Network测试
通过网络进行测试,模拟真实环境的JVM处理能力。
服务器软硬件环境:
服务器CPU:超线程1.8GzXeonCPU×2
操作系统:SuSELinux9.0Professional
LinuxKernel版本:2.4.21-202-smp4G
Glibc版本:glibc-2.3.2-88
Volano使用的是Tomcat4.0.3来做AppServer。这也符合我的选择,我正准备使用Tomcat来做AppServer。每个测试分别执行三次,测试结果如下:
1、性能测试(Loopback)
Performance
VolanoMarkversion=2.5.0.9
Messagessent=20000
Messagesreceived=380000
Totalmessages=400000
代码:
SunJDK1.4.2
- Averagethroughput=8848messagespersecond
- Averagethroughput=8060messagespersecond
- Averagethroughput=8046messagespersecond
代码:
IBMJDK1.4.1
- Averagethroughput=15620messagespersecond
- Averagethroughput=17665messagespersecond
- Averagethroughput=15666messagespersecond
代码:
BEAJRockit1.4.2
- Averagethroughput=16549messagespersecond
- Averagethroughput=15564messagespersecond
- Averagethroughput=15736messagespersecond
#p# 2、网络服务处理能力测试
VolanoMarkversion=2.5.0.9
Messagessent=10000
Messagesreceived=190000
Totalmessages=200000
代码:
BEAJRockit1.4.2
- Averagethroughput=3938messagespersecond
- Averagethroughput=3290messagespersecond
- Averagethroughput=3648messagespersecond
- Averagethroughput=3328messagespersecond
代码:
SunJDK1.4.2
- Averagethroughput=2225messagespersecond
- Averagethroughput=2163messagespersecond
- Averagethroughput=2080messagespersecond
代码:
IBMJDK无法执行测试
测试总结:
在***项性能测试中,3个JVM都完成测试,但是正如上面Purdy提到的一样,Sun的HotspotJVM在servermode情况下会出错,必须使用clietmode。在性能测试结果来看,IBM的JVM和BEA的JVM旗鼓相当,分值都相当高,而Sun的JVM性能差了几乎一倍。
在第二项网络服务测试中,IBM的JVM无法完成测试,会出现段地址错误,JDK版本和glibc版本不兼容造成的。Sun的JVM也需要修改一下JVM参数才可以顺利执行,从测试结果来看,BEA的JRockit仍然***于Sun的Hotspot。
经过本次测试,已经决出了优胜者,就是BEA的JRockit1.4.2。当然JRockit也有一些不足,例如在内存消耗和CPU负载方面要明显高于另外两个JVM。
JRockit除了性能上的优势,也有着丰富的性能调整选项和一个图形监控工具,和一个性能报告分析工具,这对于JVM的调优有着非常大的帮助,鉴于性能方面的优势,以及可管理性方面的丰富功能,我决定选择JRockit作为Tomcat的JVM来使用。
当前文章:实例解析Linux平台的JVM性能评测
本文来源:http://www.mswzjz.com/qtweb/news24/187674.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联