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

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

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

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

1.tomcat內存優化:web

對tomcat啓動參數優化咱們能夠在tomcat的啓動腳本 catalina.sh 中設置 JAVA_OPTS參數。apache

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

2.併發優化vim

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

(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 Connectorapp

(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" />

到如今咱們看到配置成功。

相關文章
相關標籤/搜索