天天看點

tomcat Connector NIO的配置

tomcat的server.xml中,有兩種Connector。

首先介紹一下這兩種Connector的作用。

  第一個連接配接器監聽8080端口,負責建立HTTP連接配接。在通過浏覽器通路Tomcat伺服器的Web應用時,使用的就是這個連接配接器。  

  第二個連接配接器監聽8009端口,負責和其他的HTTP伺服器建立連接配接。在把Tomcat與其他HTTP伺服器內建時,就需要用到這個連接配接器。

轉載:[url]http://blog.sina.com.cn/s/blog_5f5716580100lfav.html[/url]

下面說一下提高tomcat性能的NIO設定:

Tomcat的四種基于HTTP協定的Connector性能比較

我們姑且把上面四種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。

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

轉載:[url]http://www.oschina.net/question/54100_16195[/url]