Java EE容器调查:Tomcat大受欢迎 WebLogic成时间杀手

原创
开发 后端
ZeroTurnAround小组在6月底对Java开发者们做了一些Java EE容器使用方面,尤其是重新部署和重新启动时间方面的调查,并在其网站上公布调查结果。调查结果翻译如下。

【51CTO快译】上个星期,我们做了一项调查,向受访者询问了几个有关Java EE的发展、Java EE容器、重新部署和重新启动时间的问题。令我们惊讶的是,受访者如此迅速的对这些问题作出了回答,看来这已经成为一个热门话题了!

在某种程度上,我们必须为我们所做的分析划清界线,所以我们只采用前700人的回复,并由此建立了如下图表。如果回复的数量有重大变化,我们会根据***结果来更新这些图表。这项调查仍在进行当中。

如果你想自己分析这些结果,我们已经为你提供了一份数据。当我们得到新的回复时,这些数据也可能更新。电子邮件地址已从这份数据中删除。

我们希望这一资料能为大家提供一些关于Java EE容器和系统开发生产效能的有趣的见解!由于我们并不是专业调查人士,所以我们的数据和解释可能会有一些缺陷。我们在下面会提到其中的一些,欢迎你亲自来分析这些数据。

“最常用的Java EE容器”

最常用的Java EE容器 

我们的问题是:“你在你目前***的Java EE项目上使用的是什么容器?”。这个问题与图表的标题稍有不同。不幸的是,我们并没有明确的区别用于开发和用于生产的容器,所以这里的答案可能会有些混淆,下次我们会改进,争取做得更好些。从图表中可以看出Tomcat可以说是***的Java EE容器。有关Tomcat的配置可参考51CTO之前发布的Tomcat的配置技巧精华详解一文。

像往常一样,答案层出不穷。任何少于7票的回答(调查总票数的 1 %)都没有放在该饼图中。这些被删掉的容器有:

◆Tmaxsoft JEUS- 4

◆SAP NetWeaver- 3

◆Iona/Progress Artix- 1

◆zeus 4.x- 1

◆Sybase EAServer- 1

◆Impala- 1

◆Adobe JRun- 1

◆Jonas 4.x- 1

◆其他一些在列表当中五花八门的老版本容器

 “平均每个容器重新部署+应用程序重新启动要多长时间?”

平均每个容器重新部署+应用程序重新启动要多长时间 

实际上这个问题是:“需要多长时间重新启动容器和重新部署你的应用程序?”现在,你会认为那些回答“我从来没有重新部署”的人们在接下来的问题中将会质疑这一个问题,因为他们从来没有重新部署。显然,他们克服了这一困难。他们可能回答得很随意,或如果他们是JavaRebel用户,他们会回答到:在重新配置之前,他们需要大量的时间来重启/重新配置。

Java EE 开发者在一个小时的编码中要重新配置多少次?

Java EE 开发者在一个小时的编码中要重新配置多少次 

实际的问题是: “在一个小时的编程中,你会重新部署多少次?”不幸的是,我们在这里犯了一个小错误。当选择了多少次重新配置的时候,那些清楚知道他们需要重新配置7次的人们面临两难境地。希望他们能够克服这个问题,他们在这点上犯了错误,对他们说5-7次或7-10次更合理。

对那些回答 “我从来没有重新配置”过的人们 ,我们会问他们是如何做到的。答复如下:

1. “我不负责重新部署。”

2. “我们在调试模式下开发嵌入式jetty,activemq和 atomikos,而往往使用Oracle AS 。当然,我们需要像往常一样重新部署或重新启动jetty,但并非OAS。”

3. “我正处于项目的初期阶段,所以我花了很多时间在编码和测试上,而没有重新部署过。在其他的时候,我一个小时通常要重新配置3-4次”

4. “我们都在使用JavaRebel,它好极了”,它使我相信,我应该问问那些以前使用过JavaRebel的人们,因为在某种程度上这可能会有偏见。

Java EE容器单位生产率信息

对于下面几个容器的具体图表,Jetty,Oracle,以及Caucho的容器有可能有轻微错误,原因很简单,在我们的调查当中没有那么多调查者填写这些容器的数据。只有27个受访者使用Jetty,20个使用Oracle,10个使用Resin 。像这样的数字很容易改变结果。当然,来自Tomcat用户207个调查结果并不是很多,但至少平均数更为准确。解决方案:调查更多的受访者。这项统计调查仍然有效。

重新部署一个特定的容器需要多长时间(分钟)

重新部署一个特定的容器需要多长时间 

容器X是否影响渐增性开发(平均每小时重新部署的次数)?

容器X是否影响渐增性开发 

我们认为,容器的迅速重新部署将导致更多的渐增性开发,这的确普遍如此,但也有例外。

每小时编码中容器X重新部署一共花费的时间

每小时编码中容器X重新部署需要多少时间 

像这样计算:

平均每小时重新部署的时间 =每小时编程中重新部署的平均数x重新部署的平均时长(见“平均重新配置有多长”图表) 。

重新部署容器X所占开发时间的比例

重新部署容器X所占开发时间的比例 

像这样来计算:

重新部署编程时间百分比=平均每小时编程中重新部署的时间除以60 (分钟)

“Java EE开发者每年有多少时间花在重新部署容器和重启应用上面呢?”(以小时计算)

Java EE开发者每年有多少时间花在重新部署容器和重启应用上面 

我们希望保守估计这个数字,因此我们采用的是在每编程一小时重新部署的时间,并在这些假设的基础上对一年的工作时间进行分析:

1. 一个开发者很少一天编程达到8小时。我们还应该把非编程日、会议、咖啡时间、玩桌上足球、电子邮件、闲聊等因素考虑进去。我们假设的是,平均每天编程4个小时,每星期5天。

2.我们还假设,一部分人有休息日和假期,还有其他理由使得他们不会每天编程。这些原因a)将使每年的编程时间减少数周, b)平均每天减少了#小时。考虑到这些因素,我们认为每年实际工作的时间是40周而不是52周。这12个星期应占几乎囊括了所有会减少每周/每天编程小时的任何事情。我们料想,如果你每天不编码4小时,每周5天,至少每年40周,那么你可能没有回答这一调查。如果我们这里有偏差,或这不还够保守的,请让我们知道。 

调查综述:收到超过700名迅速的回复给我们留下了深刻的印象。我们很想知道你对这结果是如何看待的。比如说先回答这个问题:你能接受每个开发人员平均每年在Java容器重部署上花费81到319小时吗?

Java EE容器是天堂还是地狱?

原文:Survey Results: Java EE Containers – Heaven or Hell?

【编辑推荐】

  1. 从Java EE的三个层次看高质量的系统标准
  2. Spring创始人:看衰Java EE
  3. Java EE 6遥遥无期 预览版两极分化
  4. Java EE开发三剑客现状及发展浅析
  5. 关于JavaBean规范中的一些情形分析
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2009-06-15 08:51:00

微软Windows 7操作系统

2020-03-30 11:28:26

物联网技术开发

2012-06-01 13:32:09

校园行

2019-07-04 08:39:07

编程语言程序员Linux

2014-12-04 10:13:14

2017-12-06 16:28:59

JDK 9JDK 8开发者

2015-04-14 14:23:38

苹果Swift编程语言

2020-12-18 06:01:02

容器镜像软件

2009-04-01 18:22:53

LinuxIT部门Novell

2009-10-23 09:17:53

2022-04-21 14:29:49

程序员GitHub

2022-02-23 06:15:00

微软Edge浏览器

2020-09-28 14:02:44

Java开发代码

2014-06-06 09:48:08

AdobeChrome浏览器

2018-03-06 09:57:17

HackerRankPython编程

2014-05-16 09:52:16

数据可视化

2023-01-04 10:49:01

ml5.jsHTML工具

2018-12-05 12:24:06

Kubernetes芯片Go

2015-07-08 16:17:07

OpenStackDocker开源云计算
点赞
收藏

51CTO技术栈公众号