InfoQ

新闻

JEE服务器大比拼

作者 Bryan Clauser译者 张龙 发布于 2008年4月14日 下午4时19分

社区
Java
主题
应用服务器
标签
BEA,
Glassfish,
Geronimo,
JBoss

当你为自己的应用选择JEE服务器时,会发现信手拈来就有很多选择。选择服务器的关键是要知道哪个应用服务器才是最好的。最近,Jonathan Campbell比较了一些常用JEE应用服务器,给出了令人惊讶的结果并发表了一些评论。

不久前,Jonathan刚为Javaworld对大量的JEE服务器进行了比较,当时比较的J2EE服务器有JBoss 4.2,Geronimo及Tomcat 6,主要比较的方面有特性、部署及性能。

  • Java EE 5兼容性

  • EJB 3.0能力

  • JSP 2.1与Servlet 2.5能力

  • Hibernate 3.x的支持

  • 集群支持

在比较特性的同时,Jonathon还对它们的性能作了比较。比较测试中,他使用了简单的JSP与servlet,将同样的测试运行于不同的应用服务器之上,以查看各种应用服务器是如何创建session的,并在保持并发sessions的同时测试用户连接的速度。Geronimo借助其在特性数量方面的优势而最后胜出。总之,Jonathan总结说:每一种服务器都可以完成应用所需的任务。我们可以在这里查看到所比较的特性项以及各服务器间相比较的细节。

这一次的比较,Jonathon选取的JEE应用服务器与上次不尽相同,这次涉及到的有Glassfish 2.0、JBoss 4.2、WebSphere 2.0社区版(Geronimo)及Weblogic 10。但这次,他仍然比较了上次所比较的特性项。

如果纯粹从特性的角度来看,Geronimo在比较中胜出,而Glassfish 2.1仅落后一步之遥。另外,Jonathon也比较了这些服务器的性能,并在比较性能的时候,用到了一个叫做jRealBench的应用。JRealBench的设计目的在于显示确实的性能比较,它主要用于测试session的创建/访问及再次访问。在性能比较中,Geronimo又一次胜出,紧随其后的是JBoss。

Jonathon因此再次得出如下结论:Geronimo是此次比较的赢家,它也是最物有所值的应用服务器。这个结论激起了很多评论,很多人质疑其比较结果的可信度。其中一些争论基于如下观点:每种JEE应用服务器都有其自身定制的安装/JVM,如Weblogic的JRockit,而这些定制提供的额外性能在这次比较中却丝毫没有提到。还有一些人提到了SPEC这是一个非盈利的公司,该公司通过他们自己的测试方式比较各种JEE应用服务器的性能已经有一段时间了。

最后,Jonathan直接比较了一些主流JEE应用服务器的性能。可以在这里查看所比较的特性项和比较结果的完全列表。

查看英文原文:Comparing JEE Servers


译者简介:张龙,同济大学软件工程硕士,现就职于理光软件研究所。主要从事文档工作流和办公自动化解决方案的研发工作。热衷于Java轻量级框架的研究,对敏捷方法很感兴趣。曾有若干年的J2EE培训讲师经历。参与InfoQ中文站内容建设,请邮件至china-editorial[at]infoq.com

相关赞助商

InfoQ中文站Java社区,关注企业Java社区的变化与创新,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Java技术社区提供一流资讯。

2 条回复

回复

哗众取宠了 发表人 Jay cn 发表于 2008年4月14日 下午11时7分
没有什么意义 发表人 Allen Long 发表于 2008年4月15日 下午10时56分
  1. 返回顶部

    哗众取宠了

    2008年4月14日 下午11时7分 发表人 Jay cn

    看原文回复里骂声一片. 证明这个比较没啥意义, 连测试用的那个工具都是"IBM partner tool" Geronimo相对其它的appserver, 较少有人用, 而且貌似还没有*完全*通过JEE兼容性测试

  2. 返回顶部

    没有什么意义

    2008年4月15日 下午10时56分 发表人 Allen Long

    这种比较的确是没有什么意义.

独家内容

构建的可伸缩性和达到的性能:一个虚拟座谈会

这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。

OpenSocial的分析与实现

本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。

缓存系统MemCached的Java客户端优化历程

Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。

超越SOA:动态业务应用的新企业应用框架(2)

在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。

使用ClickOnce细分发布版本

ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。

敏捷教练,从A到Z

敏捷带来了新的领导者角色,“敏捷教练”。它是不是跟“部门经理”或“技术领导”一样,只是换汤不换药呢?教练Pat Kua在这篇启蒙文章中对敏捷教练一职做了概述。

利用Ruby简化你的Java测试(进阶篇)

本文是Productive Java with Ruby系列文章的第二篇,通过上一篇的介绍,我想大家对如何利用Ruby进行单元测试有了一个基本的了解,从这里开始,我将和大家一起讨论一些利用Ruby进行单元测试时的高级话题。

书评:《应用SOA》

《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。