tomcat NIO配置


1.tomcat NIO配置

今天在查看日志時發現tomcat的Socket連接方式為bio,於是我想既然有bio那肯定有nio。果然,一查就發現tomcat在6.0之后就可以配置nio的方式。nio方式比bio具有更好的並發性,如果Web應用需要更好的並發性能,當然是使用nio方式了。配置具體方法如下:

將Service.xml文件下的內容

<Connector port="8080" protocol="HTTP/1.1"  

connectionTimeout="20000"  

redirectPort="8443" /> 

改為

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"  

connectionTimeout="20000"  

redirectPort="8443" />

那么在啟動tomcat時可以查看到tomcat已經以nio方式啟動

 

 

同時為了獲得更好的並發性還可以配置線程池

<Connector executor="tomcatThreadPool"

               port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

 

 

2.Tomcat Connector(Tomcat連接器)有bio、nio、apr三種運行模式

bio

bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是傳統的Java I/O操作(即java.io包及其子包)。 

默認的模式,性能最差,沒有經過任何優化處理和支持。

nio

nio(non-blocking I/O),Java SE 1.4及后續版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個基於緩沖區、並能提供非阻塞I/O操作的Java API。擁有比傳統I/O操作(bio)更好的並發運行性能。 

apr

apr(Apache Portable Runtime/Apache可移植運行時庫),Tomcat將以JNI的形式調用Apache HTTP服務器的核心動態鏈接庫來處理文件讀取或網絡傳輸操作,從而大大地提高Tomcat對靜態文件的處理性能。從操作系統級別來解決異步的IO問題,大幅度的提高性能。 Tomcat apr也是在Tomcat上運行高並發應用的首選模式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM