tomcat 優化配置 , 說明
一、併發優化
1.JVM調優
以下為1G實體記憶體tomcat配置:
JAVA_OPTS="-server -Xms512M -Xmx512M -Xss256K"
-server: 一定要作為第一個引數,在多個CPU時效能佳
-Xms: 初始Heap大小,使用的最小記憶體,cpu效能高時此值應設的大一些
-Xmx: java heap最大值,使用的最大記憶體
Xms 與 Xmx 兩個值是分配JVM的最小和最大記憶體,取決於硬體實體記憶體的大小,建議均設為實體記憶體的一半。
-Xss: 每個執行緒的Stack大小
以下為32G實體記憶體tomcat配置:
JAVA_OPTS="-server -Xms20480m -Xmx20480m -Xss1024K"
日誌亂碼的修復辦法
JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=GMT+8"
二、 apr 模式
安裝apr 以及 tomcat-native
yum -y install apr apr-devel
進入tomcat/bin目錄,比如:
cd /opt/local/tomcat/bin/
tar xzfv tomcat-native.tar.gz
cd tomcat-native-1.1.32-src/jni/native/
./configure --with-apr=/usr/bin/apr-1-config
make && make install
安裝成功後還需要對tomcat設定環境變數,方法是在catalina.sh檔案中增加1行:
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
修改8080端對應的conf/server.xml
protocol="org.apache.coyote.http11.Http11AprProtocol"
---------------------------------------------------------------------------------
<Connector executor="tomcatThreadPool"
port="8080"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
enableLookups="false"
redirectPort="8443"
URIEncoding="UTF-8" />
---------------------------------------------------------------------------------
PS:啟動以後檢視日誌 顯示如下表示開啟 apr 模式
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].