新聞中心
以下是關(guān)于JavaEE容器重部署時(shí)間的調(diào)查,通過(guò)調(diào)查結(jié)果顯示,能得出一些結(jié)論,并使廣大開(kāi)發(fā)人員從中獲益。

公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)建站推出措勤免費(fèi)做網(wǎng)站回饋大家。
近日,Jevgeni Kabanov公布了一份幾個(gè)月前做的關(guān)于JavaEE開(kāi)發(fā)、容器和部署時(shí)間的調(diào)查結(jié)果。結(jié)果顯示有超過(guò)1100人參加了這次問(wèn)卷調(diào)查。這里是下載版的問(wèn)卷結(jié)果。而下面是Jevgeni作出的針對(duì)每個(gè)問(wèn)題答案分析的摘要。
問(wèn)卷的第一個(gè)問(wèn)題是:“你在目前參與的最大型項(xiàng)目中使用的是什么容器?”
圖表1:哪個(gè)容器是最常使用的?
這里沒(méi)有包括那些得分不到10分的容器。毫無(wú)懸念,Apache的Tomcat占據(jù)了頭把交椅,而JBoss緊隨其后。開(kāi)源的服務(wù)器占到了70%的比例。雖然不能把這樣的比例直接等同于容器們的市場(chǎng)份額,但這樣的結(jié)果跟SD Time作出的研究結(jié)果有異曲同工之妙,在他們的調(diào)查中允許人們選擇多個(gè)容器。
第二個(gè)問(wèn)題是:“重啟你的容器并重新部署應(yīng)用要花費(fèi)多少時(shí)間?”
圖表2: “重啟你的容器并重新部署應(yīng)用要花費(fèi)多少時(shí)間”(橫軸是分鐘)
這樣,計(jì)算出平均時(shí)間在2.5分鐘左右,這跟事先評(píng)估的大概1分鐘相去甚遠(yuǎn)。
第三個(gè)問(wèn)題:“編碼一個(gè)小時(shí),你會(huì)重新部署幾次?”
圖表 3:“編碼一個(gè)小時(shí),你會(huì)重新部署幾次?”
對(duì)于那些回答“我不需要重新部署”的人,我們?cè)儐?wèn)了他們是如何做到的,答案有以下這些:
“我不負(fù)責(zé)重新部署”
“我們?cè)谇度胧絡(luò)etty&activemq&atomikos以debug模式開(kāi)發(fā),而不是OracleAS上。這樣,我們雖然需要重新部署并重啟jetty,但不需要對(duì)OAS也這么做”
“我還處在項(xiàng)目的早期階段,大部分時(shí)間都花在了編碼和測(cè)試,而不是重新部署上——通常每個(gè)小時(shí)我會(huì)重新部署3-4次”
“我們使用JavaRebel,而它真是太棒了!”
接著,我們做了一下數(shù)據(jù)處理。用一個(gè)數(shù)字代表次數(shù)間隔(比如3.5次代表3-4次),并把每小時(shí)的部署次數(shù)與一次重新部署所費(fèi)時(shí)間相乘(基本上就是圖2和圖3相乘),這樣就得出了在開(kāi)發(fā)過(guò)程中每小時(shí)會(huì)花費(fèi)的重新部署時(shí)間:
圖表4:“ Java開(kāi)發(fā)者在一個(gè)小時(shí)編碼過(guò)程中,花費(fèi)多長(zhǎng)時(shí)間來(lái)重新部署(原始數(shù)據(jù))?”
平均時(shí)間是12分半,占到了整個(gè)開(kāi)發(fā)時(shí)間的20%還多點(diǎn)。然而,標(biāo)準(zhǔn)差超過(guò)14,這意味著真實(shí)的比例變化很大。我們想要顯示出更加精確的數(shù)據(jù),在分析過(guò)參與調(diào)查的人們?cè)诿總€(gè)答案上的選擇所產(chǎn)生的比例數(shù)據(jù)后,我們得到了更新后的圖表:
圖表5:“ Java開(kāi)發(fā)者在一個(gè)小時(shí)編碼過(guò)程中,花費(fèi)多長(zhǎng)時(shí)間來(lái)重新部署?(更加精確的數(shù)據(jù))”
這樣,平均時(shí)間就是10.5分鐘,標(biāo)準(zhǔn)差是8,這樣的數(shù)據(jù)更令人信服。這個(gè)時(shí)間占據(jù)了全部開(kāi)發(fā)時(shí)間的17.5%,這遠(yuǎn)比我們預(yù)期的要高。這些干凈的數(shù)據(jù)也將用作接下來(lái)的分析。
接著,我們基于每個(gè)容器進(jìn)行了數(shù)據(jù)分析。下面是我們所發(fā)現(xiàn)的:
圖表6:每個(gè)容器要花費(fèi)多少時(shí)間來(lái)重新部署?
可以看到,Jetty最快僅需要5.8分鐘,而IBM的WebSphere排在了末尾,時(shí)間幾乎是Jetty的兩倍還多。但需要注意的是,雖然Jetty啟動(dòng)時(shí)間要比WebSphere要看,但最大的不同很可能是因?yàn)椴渴鸬膽?yīng)用規(guī)模和其中使用到的技術(shù)。
接下來(lái),我們擁有了幾乎一模一樣的圖表,但數(shù)字顯示的是開(kāi)發(fā)時(shí)間的一個(gè)比例。
圖表7:每個(gè)容器中,花在重新部署上的開(kāi)發(fā)時(shí)間比例是多大?
下面這張圖,顯示了按40小時(shí)每周的時(shí)間算,每年要消耗在重新部署上的周數(shù)對(duì)比。
圖表8:每年有多少個(gè)40小時(shí)周被花費(fèi)在了重新部署階段上?
這個(gè)數(shù)據(jù)的平均值是每年5個(gè)工作周多一點(diǎn),但標(biāo)準(zhǔn)差4使得3-7的范圍更加可信。
最后一張圖表顯示了每個(gè)容器上所費(fèi)重新部署時(shí)間更加詳盡的比例。我們期望這樣能顯示出使用不同容易的項(xiàng)目規(guī)模,從而能讓讀者大概弄清楚自己的項(xiàng)目會(huì)花費(fèi)多少時(shí)間在重新部署上。
圖表9:: Java EE容器市場(chǎng)滲透率
我們會(huì)這樣詮釋這幅圖表:
Jetty只會(huì)用在重新部署迅速的項(xiàng)目上。這點(diǎn)毫無(wú)疑問(wèn),因?yàn)镴etty不支持重新部署,只是有極快的重新啟動(dòng)時(shí)間。
Apache Tomcat和GlassFish可以用在相同類型的項(xiàng)目上。兩者都是全功能且輕量級(jí)的容器。
JBoss、Oracle Weblogic和IBM WebSphere爭(zhēng)奪同樣的市場(chǎng)定位和份額。它們的項(xiàng)目一般都是大而復(fù)雜。
【編輯推薦】
- 走近JavaEE5與Glassfish應(yīng)用服務(wù)器
- Java設(shè)計(jì)模式之裝飾模式
- Apache對(duì)JavaEE 6說(shuō)“不”
- J2EE設(shè)計(jì)模式之Template
- J2EE常用的設(shè)計(jì)模式
分享名稱:淺析JavaEE容器重部署時(shí)間的調(diào)查數(shù)據(jù)
鏈接地址:http://m.5511xx.com/article/dhgihho.html


咨詢
建站咨詢
