Tomcat Connector三種運行模式(BIO, NIO, APR)的比較和優化

Tomcat Connector的三種不同的運行模式性能相差很大,有人測試過的結果如下:

這三種模式的不同之處如下:

BIO:

一個線程處理一個請求。缺點:併發量高時,線程數較多,浪費資源。
Tomcat7或以下,在Linux系統中默認使用這種方式。

NIO:

利用Java的異步IO處理,可以通過少量的線程處理大量的請求。
Tomcat8在Linux系統中默認使用這種方式。
Tomcat7必須修改Connector配置來啓動:

APR:

即Apache Portable Runtime,從操作系統層面解決io阻塞問題。
Tomcat7或Tomcat8在Win7或以上的系統中啓動默認使用這種方式。
Linux如果安裝了apr和native,Tomcat直接啓動就支持apr。(安裝方法:http://www.cnblogs.com/nb-blog/p/5278502.html)

官方對這三種的區別的詳細說明:
在這裏插入圖片描述

Tomcat啓動的時候,可以通過log看到Connector使用的是哪一種運行模式:
Starting ProtocolHandler [“http-bio-8080”]
Starting ProtocolHandler [“http-nio-8080”]
Starting ProtocolHandler [“http-apr-8080”]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章