生產環境:tomcat9,jdk8優化配置

生產環境:tomcat9,jdk8優化配置

2018年05月20日 15:39:35 鏡水靈動 閱讀數:2320

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u014172271/article/details/80381640

1.tomcat內存優化:

對tomcat啓動參數優化我們可以在tomcat的啓動腳本 catalina.sh 中設置 JAVA_OPTS參數。

JAVA_OPTS="-server -Xms2048M -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/heap.dump"

2.併發優化

${tomcat}/webapps/docs/config/http.html文件中參數:

(1)maxConnections:The maximum number of connections that the server will accept and process at any given time

服務器在任何給定時間接受和處理的最大連接數。

(2)acceptCount:The maximum queue length for incoming connection requests when all possible request processing threads are in use.當所有可能的請求處理線程都在使用時,傳入連接請求的最大隊列長度。監聽端口隊列最大數,滿了之後客戶請求會被拒絕

(3)maxThreads:工作線程,The maximum number of request processing threads to be created by this Connector

(4)minSpareThreads:最小空閒的工作線程。The minimum number of threads always kept running

3.其他優化:

(1)${tomcat}/webapps/docs/config/host.html
autoDeploy:This flag value indicates if Tomcat should check periodically for new or updated web applications while Tomcat is running 自動部署Tomcat是否應該定期檢查新的或更新的Web應用程序。 false
(2)${tomcat}/webapps/docs/config/http.html
enableLookups:false  若設爲true, 則支持域名解析,可把 ip 地址解析爲主機名
(3)${tomcat}/webapps/docs/config/context.html:

reloadable:false 

4. connector:apr。

bio 
bio(blocking I/O),顧名思義,即阻塞式I/O操作,表示Tomcat使用的是傳統的Java I/O操作(即java.io包及其子包)。Tomcat在默認情況下,就是以bio模式運行的。遺憾的是,就一般而言,bio模式是三種運行模式中性能最低的一種。我們可以通過Tomcat Manager來查看服務器的當前狀態。
nio 
是Java SE 1.4及後續版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個基於緩衝區、並能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的縮寫。它擁有比傳統I/O操作(bio)更好的併發運行性能。
apr 

(Apache Portable Runtime/Apache可移植運行庫),是Apache HTTP服務器的支持庫。你可以簡單地理解爲,Tomcat將以JNI的形式調用Apache HTTP服務器的核心動態鏈接庫來處理文件讀取或網絡傳輸操作,從而大大地提高Tomcat對靜態文件的處理性能。 Tomcat apr也是在Tomcat上運行高併發應用的首選模式。

下載相關的工具包
wget http://mirrors.aliyun.com/apache/apr/apr-1.6.3.tar.gz
wget http://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz 
mkdir   /usr/local/apr  
將tomcat9的bin目錄下的tomcat-native.tar.gz複製到/usr/local/apr 


tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.2.12-src
cd native
./configure --with-apr=/usr/local/apr 


tar zxvf apr-1.6.3.tar  
cd apr-1.6.3  
./configure --prefix=/usr/local/apr  
make  
make install  


tar -zxvf apr-iconv-1.2.2.tar.gz   
cd apr-iconv-1.2.2  
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr  
make  
make install
按照上面的安裝好之後配置tomcat:
vim catalina.sh:
JAVA_OPTS="-server -Xms2048M -Xmx2048M -XX:MetaspaceSize=128M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/heap.dump"
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"
注意:開啓了apr之後,jvm用到的native內存會增大,因此要適當調大Metaspace空間,添加JVM選項:-XX:MetaspaceSize=128m

server.xml:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

到現在我們看到配置成功。

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