JavaEE容器重部署和重启时间

一份调查报告显示,JavaEE项目中,Tomcat是使用最广泛的容器,平均重启和部署时间为2.5分钟。开发者每小时平均进行10.5分钟的重新部署,占据开发时间的17.5%。Jetty拥有最快的重新部署时间,而WebSphere最慢。每年约有5个工作周用于重新部署。不同容器在不同规模项目中的应用比例也有明显差异。
摘要由CSDN通过智能技术生成

近日,Jevgeni Kabanov公布了一份几个月前做的关于JavaEE开发、容器和部署时间的调查结果。结果显示有超过1100人参加了这次问卷调查。这里是下载版的问卷结果。而下面是Jevgeni作出的针对每个问题答案分析的摘要。

问卷的第一个问题是:“你在目前参与的最大型项目中使用的是什么容器?”

图表1:哪个容器是最常使用的?

这里没有包括那些得分不到10分的容器。毫无悬念,Apache的Tomcat占据了头把交椅,而JBoss紧随其后。开源的服务器占到了70%的比例。虽然不能把这样的比例直接等同于容器们的市场份额,但这样的结果跟SD Time作出的研究结果有异曲同工之妙,在他们的调查中允许人们选择多个容器。

第二个问题是:“重启你的容器并重新部署应用要花费多少时间?”

图表2: “重启你的容器并重新部署应用要花费多少时间”(横轴是分钟)

这样,计算出平均时间在2.5分钟左右,这跟事先评估的大概1分钟相去甚远。

第三个问题:“编码一个小时,你会重新部署几次?”

图表 3:“编码一个小时,你会重新部署几次?

对于那些回答“我不需要重新部署”的人,我们询问了他们是如何做到的,答案有以下这些:

  • “我不负责重新部署”
  • “我们在嵌入式jetty&activemq&atomikos以debug模式开发,而不是OracleAS上。这样,我们虽然需要重新部署并重启jetty,但不需要对OAS也这么做”
  • “我还处在项目的早期阶段,大部分时间都花在了编码和测试,而不是重新部署上——通常每个小时我会重新部署3-4次”
  • “我们使用JavaRebel,而它真是太棒了!”

接着,我们做了一下数据处理。用一个数字代表次数间隔(比如3.5次代表3-4次),并把每小时的部署次数与一次重新部署所费时间相乘(基本上就是图2和图3相乘),这样就得出了在开发过程中每小时会花费的重新部署时间:

图表4:“ Java开发者在一个小时编码过程中,花费多长时间来重新部署(原始数据)?”

平均时间是12分半,占到了整个开发时间的20%还多点。然而,标准差超过14,这意味着真实的比例变化很大。我们想要显示出更加精确的数据,在分析过参与调查的人们在每个答案上的选择所产生的比例数据后,我们得到了更新后的图表:

图表5:“ Java开发者在一个小时编码过程中,花费多长时间来重新部署?(更加精确的数据)”

这样,平均时间就是10.5分钟,标准差是8,这样的数据更令人信服。这个时间占据了全部开发时间的17.5%,这远比我们预期的要高。这些干净的数据也将用作接下来的分析。

接着,我们基于每个容器进行了数据分析。下面是我们所发现的:

图表6:每个容器要花费多少时间来重新部署?

可以看到,Jetty最快仅需要5.8分钟,而IBM的WebSphere排在了末尾,时间几乎是Jetty的两倍还多。但需要注意的是,虽然Jetty启动时间要比WebSphere要看,但最大的不同很可能是因为部署的应用规模和其中使用到的技术。

接下来,我们拥有了几乎一模一样的图表,但数字显示的是开发时间的一个比例。

图表7:每个容器中,花在重新部署上的开发时间比例是多大?

下面这张图,显示了按40小时每周的时间算,每年要消耗在重新部署上的周数对比。

图表8:每年有多少个40小时周被花费在了重新部署阶段上?

这个数据的平均值是每年5个工作周多一点,但标准差4使得3-7的范围更加可信。

最后一张图表显示了每个容器上所费重新部署时间更加详尽的比例。我们期望这样能显示出使用不同容易的项目规模,从而能让读者大概弄清楚自己的项目会花费多少时间在重新部署上。

图表9:: Java EE容器市场渗透率

我们会这样诠释这幅图表:

  • Jetty只会用在重新部署迅速的项目上。这点毫无疑问,因为Jetty不支持重新部署,只是有极快的重新启动时间。
  • Apache Tomcat和GlassFish可以用在相同类型的项目上。两者都是全功能且轻量级的容器。
  • JBoss、Oracle Weblogic和IBM WebSphere争夺同样的市场定位和份额。它们的项目一般都是大而复杂。
来自:http://www.infoq.com/cn/news/2009/09/codegen-java-development
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
毕业设计,基于SpringBoot+Vue+MySQL开发的社区医院管理系统,源码+数据库+毕业论文+视频演示 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的社区医院管理系统实现了病例信息、字典表、家庭医生、健康档案、就诊信息、前台、药品、用户、用户、用户表等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让社区医院管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。 关键字:社区医院管理系统;信息管理,时效性,安全性,MySql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值