JEE 服务器大比拼

  • Bryan Clauser
  • 张龙

2008 年 4 月 14 日

话题:JavaDevOps语言 & 开发

当你为自己的应用选择 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
JavaDevOps语言 & 开发