实例解析Linux平台的JVM性能评测

本文向大家简单介绍一下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  

 
 
 
 
  1.   Averagethroughput=8848messagespersecond 
  2.   Averagethroughput=8060messagespersecond 
  3.   Averagethroughput=8046messagespersecond 
  4.  

  代码:
  IBMJDK1.4.1 

 
 
 
 
  1.     
  2.   Averagethroughput=15620messagespersecond 
  3.   Averagethroughput=17665messagespersecond 
  4.   Averagethroughput=15666messagespersecond 

  代码:
  BEAJRockit1.4.2 

 
 
 
 
  1.     
  2.   Averagethroughput=16549messagespersecond 
  3.   Averagethroughput=15564messagespersecond 
  4.   Averagethroughput=15736messagespersecond 

 #p# 2、网络服务处理能力测试
  
  VolanoMarkversion=2.5.0.9
  Messagessent=10000
  Messagesreceived=190000
  Totalmessages=200000

  代码:
  BEAJRockit1.4.2   

 
 
 
 
  1.   Averagethroughput=3938messagespersecond 
  2.   Averagethroughput=3290messagespersecond 
  3.   Averagethroughput=3648messagespersecond 
  4.   Averagethroughput=3328messagespersecond 

  代码:
  SunJDK1.4.2   

 
 
 
 
  1.   Averagethroughput=2225messagespersecond 
  2.   Averagethroughput=2163messagespersecond 
  3.   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。内容未经允许不得转载,或转载时需注明来源: 创新互联