日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Jetty 與 Tomcat 比較,及性能分析

系統(tǒng) 2144 0

主流java的web容器,主要是Tomcat, jboss, jetty, resin。由于以前我們主要用的是jboss4.0.5,但jbosse用的servlet容器是tomcat5.5,所以只進(jìn)行tomcat和 jetty的比較,兩個誰好誰壞,適合你用,你才知道。resin就不說了,好像已經(jīng)成為了history.

一、Tomcat

現(xiàn)在Tomcat版本已經(jīng)是8.0了,在Tomcat6和7都增加了很多新的特性。

?

版本 特性

Tomcat7系列

Tomcat6系列

二、jetty

由于jetty出生不好,不像tomcat是在apache強(qiáng)大的基金下面成長,所以變化很多?,F(xiàn)在歸于eclipse基金組織下,官方文檔沒有 tomcat那么細(xì)和明確。現(xiàn)在Jetty的最新版本是8.0.4,在我們這期使用的是jetty7.2.0,這兩個版本系列與jetty6區(qū)別比較大。詳細(xì)的學(xué)習(xí)了解及性能,在以后的分享再給出。

三、比較
名稱 上手度 性能 更新頻率 擴(kuò)展性
Tomcat 容易 從Tomcat6支持nio,性能優(yōu)秀 普通 不好
Jetty 比較慢。靈活性同時帶來一定的復(fù)雜度 默認(rèn)是NIO,性能優(yōu)秀

?

綜上所述,其實我們選用jetty或者tomcat并不是因為jetty一定比tomcat好,而是因為什么手順,用什么。

四、NIO和BIO對比

測試環(huán)境:

Tomcat: 7.0.22 JDK:1.6.0_11 系統(tǒng):linux,就是我們的開發(fā)機(jī) 場景:訪問一個簡單的jsp頁面,沒有什么業(yè)務(wù)代碼,純測試及處理request的性能與并發(fā)。 總的說來,BIO下,較為穩(wěn)定,而NIO波動較大。但在10240并發(fā)下,bio徹底玩完,而NIO依然堅挺。所以在大并發(fā)下,NIO是不二選擇。

Tomcat的NIO和BIO配置及運行時截圖

名稱 配置 運行時
BIO
NIO

五、為什么要用jetty?

其實這篇分享,主要是想說明三點。

  1. 在web容器上,我們要與時俱進(jìn),不能只追求現(xiàn)在,在高并發(fā)下,我們要有相關(guān)的經(jīng)驗及應(yīng)對措施。
  2. NIO要優(yōu)于BIO,而jetty同時也是推薦用NIO
  3. jetty的靈活小巧,加載速度快,方便調(diào)試等都是促使我們?nèi)ミx擇 tomcat公司很多不屑于用一樣,其實tomcat還是很不錯的。用tomcat支持并發(fā)2000的,也是經(jīng)常干的事。之所以選擇jetty,那原因就不多說了,jboss不給力而且又大,tomcat公司不支持,所以jetty就這樣成為項目中的不二選擇,當(dāng)然他也是非常優(yōu)秀的產(chǎn)品。 綜上所述,在性能上tomcat與jetty差距并不大,可以說沒有。只是jetty相對來說由于其靈活性,插件化,導(dǎo)致jetty某些場合(如虛擬機(jī)、嵌入式)更節(jié)約資源,當(dāng)然對于我們現(xiàn)在的應(yīng)用可以忽略這個因素。還是多關(guān)注一下我們的SQL語句和業(yè)務(wù)邏輯代碼吧!
補(bǔ)充
3.1 Servlet3.0新特性
  1. 異步處理支持:有了該特性,Servlet 線程不再需要一直阻塞,直到業(yè)務(wù)處理完畢才能再輸出響應(yīng),最后才結(jié)束該 Servlet 線程。在接收到請求之后,Servlet 線程可以將耗時的操作委派給另一個線程來完成,自己在不生成響應(yīng)的情況下返回至容器。針對業(yè)務(wù)處理較耗時的情況,這將大大減少服務(wù)器資源的占用,并且提高并發(fā)處理速度。
  2. 新增的注解支持:該版本新增了若干注解,用于簡化 Servlet、過濾器(Filter)和監(jiān)聽器(Listener)的聲明,這使得 web.xml 部署描述文件從該版本開始不再是必選的了。
  3. 可插性支持:熟悉 Struts2 的開發(fā)者一定會對其通過插件的方式與包括 Spring 在內(nèi)的各種常用框架的整合特性記憶猶新。將相應(yīng)的插件封裝成 JAR 包并放在類路徑下,Struts2 運行時便能自動加載這些插件?,F(xiàn)在 Servlet 3.0 提供了類似的特性,開發(fā)者可以通過插件的方式很方便的擴(kuò)充已有 Web 應(yīng)用的功能,而不需要修改原有的應(yīng)用。

Jetty 與 Tomcat 比較,及性能分析


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 城固县| 方正县| 伊金霍洛旗| 景东| 新绛县| 城步| 鄂温| 长岛县| 包头市| 巴林左旗| 芒康县| 明溪县| 赞皇县| 汉川市| 阿克| 北安市| 蕉岭县| 容城县| 玉山县| 凯里市| 门源| 扶风县| 武安市| 临朐县| 威远县| 个旧市| 康乐县| 西和县| 钟山县| 郎溪县| 龙山县| 如皋市| 惠水县| 井陉县| 香河县| 章丘市| 交口县| 客服| 涞水县| 兰西县| 同德县|