一 前言
tomcat的運行模式有3種.修改他們的運行模式.3種模式的運行是否成功,可以看他的啟動控制臺,或者啟動日志.或者登錄他們的默認頁面http://localhost:8080/查看其中的服務器狀態。
二 bio
默認的模式 blocking IO,性能非常低下,沒有經過任何優化處理和支持.
三 nio
利用java的異步io護理技術,no blocking IO技術.
想運行在該模式下,直接修改server.xml里的Connector節點,修改protocol為
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
enableLookups="false"
redirectPort="8443" />
啟動后,就可以生效。性能得到初步優化但與apr相比,還是有一些差距。
四 apr
安裝起來最困難,但是從操作系統級別來解決異步的IO問題,大幅度的提高性能.
必須要安裝apr和native,直接啟動就支持apr。
下面的修改純屬多余,僅供大家擴充知識,但仍然需要安裝apr和native
如nio修改模式,修改protocol為org.apache.coyote.http11.Http11AprProtocol
五 補充
1)安裝APR的方法,請看我另一篇博客http://phl.iteye.com/blog/910984;
2)關于性能數據請讀者們自行研究,筆者不是在寫教科書在此只是給出思路,性能研究是個很深的領域,請各位按需自行搭建環境測試;
3)總的來說,bio是不推薦使用的,apr的模式推薦;
tomcat的運行模式有3種.修改他們的運行模式.3種模式的運行是否成功,可以看他的啟動控制臺,或者啟動日志.或者登錄他們的默認頁面http://localhost:8080/查看其中的服務器狀態。
二 bio
默認的模式 blocking IO,性能非常低下,沒有經過任何優化處理和支持.
三 nio
利用java的異步io護理技術,no blocking IO技術.
想運行在該模式下,直接修改server.xml里的Connector節點,修改protocol為
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
enableLookups="false"
redirectPort="8443" />
啟動后,就可以生效。性能得到初步優化但與apr相比,還是有一些差距。
四 apr
安裝起來最困難,但是從操作系統級別來解決異步的IO問題,大幅度的提高性能.
必須要安裝apr和native,直接啟動就支持apr。
下面的修改純屬多余,僅供大家擴充知識,但仍然需要安裝apr和native
如nio修改模式,修改protocol為org.apache.coyote.http11.Http11AprProtocol
五 補充
1)安裝APR的方法,請看我另一篇博客http://phl.iteye.com/blog/910984;
2)關于性能數據請讀者們自行研究,筆者不是在寫教科書在此只是給出思路,性能研究是個很深的領域,請各位按需自行搭建環境測試;
3)總的來說,bio是不推薦使用的,apr的模式推薦;
item | protocol | Requests per second |
BIO | org.apache.coyote.http11.Http11Protocol | 916.06 [#/sec] (mean) |
NIO | org.apache.coyote.http11.Http11NioProtocol | 2102.26 [#/sec] (mean) |
APR | org.apache.coyote.http11.Http11AprProtocol | 1997.24 [#/sec] (mean) |
http://phl.iteye.com/blog/910996