零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
          Tomcat 6 支持 NIO -- Tomcat的四種基于HTTP協議的Connector性能比較

          Tomcat從5.5版本開始,支持以下四種Connector的配置分別為:

          <Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"                          connectionTimeout="20000" redirectPort="8443"/>
          <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000"
                        redirectPort="8443"/>
          <Connector executor="tomcatThreadPool"
                        port="8081" protocol="HTTP/1.1"
                        connectionTimeout="20000"
                        redirectPort="8443" />
          <Connector executor="tomcatThreadPool"
                        port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
                        connectionTimeout="20000"
                        redirectPort="8443" />

          我們姑且把上面四種Connector按照順序命名為 NIO, HTTP, POOL, NIOP

          為了不讓其他因素影響測試結果,我們只對一個很簡單的jsp頁面進行測試,這個頁面僅僅是輸出一個Hello World。假設地址是 http://tomcat1/test.jsp

          我們依次對四種Connector進行測試,測試的客戶端在另外一臺機器上用ab命令來完成,測試命令為: ab -c 900 -n 2000 http://tomcat1/test.jsp,最終的測試結果如下表所示(單位:平均每秒處理的請求數):

          NIO    HTTP    POOL    NIOP
          281     65     208     365
          666     66     110     398
          692     65     66     263
          256     63     94     459
          440     67     145     363

          由這五組數據不難看出,HTTP的性能是很穩定,但是也是最差的,而這種方式就是Tomcat的默認配置。NIO方式波動很大,但沒有低于280 的,NIOP是在NIO的基礎上加入線程池,可能是程序處理更復雜了,因此性能不見得比NIO強;而POOL方式則波動很大,測試期間和HTTP方式一樣,不時有停滯。

          由于linux的內核默認限制了最大打開文件數目是1024,因此此次并發數控制在900。

          盡管這一個結果在實際的網站中因為各方面因素導致,可能差別沒這么大,例如受限于數據庫的性能等等的問題。但對我們在部署網站應用時還是具有參考價值的。

          posted on 2009-10-09 15:25 零全零美 閱讀(3356) 評論(0)  編輯  收藏 所屬分類: tomcat
          主站蜘蛛池模板: 民权县| 安泽县| 定边县| 青川县| 绩溪县| 江口县| 莎车县| 明溪县| 蓬莱市| 河池市| 衡东县| 若尔盖县| 江油市| 稻城县| 五寨县| 塘沽区| 台北市| 青海省| 屯昌县| 普格县| 肥西县| 海城市| 牟定县| 河南省| 疏附县| 田阳县| 正蓝旗| 金阳县| 涿州市| 资中县| 衡水市| 彭泽县| 昭通市| 曲阳县| 内乡县| 上林县| 和政县| 板桥市| 盱眙县| 济源市| 茶陵县|