分享
 
 
 

Linux平台的JVM性能评测

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在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上表现如何。这次我是要在SuSE Linux上跑jroller,因此主要关注3个JVM在我的SuSE 9上面的性能表现。

因为要作为网站服务器来使用,因此我还比较关注JRockit和IBM JVM的License问题,分别查了一下BEA和IBM的协议,看到这两个JVM都是可以免费使用,不管是开发目的,还是产品目的,如果是购买了其公司其他产品,那么可以得到免费的JVM方面的support,如果只是从网站下载使用其JVM,那么就没有免费的support,但是有商业付费的support。

在TSS上面有一个关于JRockit的Thread:

http://www.theserverside.com/news/thread.tss?thread_id=22895

Cameron Purdy对于3个JVM的评价如下:

引用:

Every application is different, so there is no single "best JVM." These JVMs only compete on the x86 platform anyway, and they perform differently on Windows and Linux. The IBM JVM has been much faster at math (all number processing it seems) compared to the Sun JVM. The jRockit JVM has been much better at handling large numbers of threads and sockets. The Sun JVM has been the fastest at general business logic running in server mode, but there used to be stability issues with the hotspot server mode that prevented its use for many server applications.

To be honest, with the above exception noted, we've seen the most stability and least weird behavior with the Sun JVMs. I haven't had a chance to look at the latest BEA release, though, and it's probably the one that's been improving the fastest.

IBM JVM处理数学运算速度最快,BEA JVM处理大量线程和网络socket性能最好,而Sun JVM处理通常的商业逻辑性能最好。不过Hotspot的Server mode被报告有稳定性的问题。而他尚未有机会尝试一下最新的JRockit。

架设Blog系统我最关心的其实还是JVM的多线程处理能力和网络socket处理能力,因此使用著名的VolanoMark Benchmark进行了这方面的测试

VolanoMark Benchmark是一个JVM性能测试程序,任何人都可以自己下载来测试:

http://www.volano.com/benchmarks.html

这是2003年5月的测试报告

http://www.volano.com/report/

我下载了VolanoMark Benchmark,在Server上面分别安装了Linux版本的JRockit1.4.2,Sun JDK1.4.2,和IBM JDK1.4.1。修改了一下VolanoMark的测试脚本(有些小问题)。VolanoMark测试主要是运行Volano自己开发的一个chat的web application,然后从客户端进行压力测试,统计web application单位时间内处理并发请求的能力。测试主要有两项:

1、Loopback测试

不进行网络传输测试,因此可以测试出来JVM的performance

2、 Network测试

通过网络进行测试,模拟真实环境的JVM处理能力。

服务器软硬件环境:

服务器CPU:超线程1.8Gz Xeon CPU × 2

操作系统:SuSE Linux9.0 Professional

Linux Kernel版本:2.4.21-202-smp4G

Glibc版本:glibc-2.3.2-88

Volano使用的是Tomcat4.0.3来做App Server。这也符合我的选择,我正准备使用Tomcat来做App Server。每个测试分别执行三次,测试结果如下:

1、性能测试(Loopback)

Performance

VolanoMark version = 2.5.0.9

Messages sent = 20000

Messages received = 380000

Total messages = 400000

代码:

Sun JDK1.4.2

Average throughput = 8848 messages per second

Average throughput = 8060 messages per second

Average throughput = 8046 messages per second

代码:

IBM JDK1.4.1

Average throughput = 15620 messages per second

Average throughput = 17665 messages per second

Average throughput = 15666 messages per second

代码:

BEA JRockit1.4.2

Average throughput = 16549 messages per second

Average throughput = 15564 messages per second

Average throughput = 15736 messages per second

2、网络服务处理能力测试

VolanoMark version = 2.5.0.9

Messages sent = 10000

Messages received = 190000

Total messages = 200000

代码:

BEA JRockit1.4.2

Average throughput = 3938 messages per second

Average throughput = 3290 messages per second

Average throughput = 3648 messages per second

Average throughput = 3328 messages per second

代码:

Sun JDK1.4.2

Average throughput = 2225 messages per second

Average throughput = 2163 messages per second

Average throughput = 2080 messages per second

代码:

IBM JDK无法执行测试

测试总结:

在第一项性能测试中,3个JVM都完成测试,但是正如上面Purdy提到的一样,Sun的Hotspot JVM在server mode情况下会出错,必须使用cliet mode。在性能测试结果来看,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来使用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有