本文向大家简单介绍一下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.csdahua.cn/qtweb/news24/187674.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网