Linux下Tomcat調優實戰
1.上傳安裝包
- yum install lrzsz -y
- rz 上傳tomcat、jdk8包
2.安裝jdk 1.8
- cd /usr
- mkdir java
-
解壓
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
- 配置jdk環境
- 編輯檔案:vim /etc/profile
-
在檔案尾部添加:
JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
-
重新加載一下檔案:
source /etc/profile
-
檢視jdk:
java -version
3.安裝tomcat
-
解壓
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/java/
-
啟動tomcat
到tomcat的bin目錄下執行: ./startup.sh
-
檢視是否啟動成功
登陸tomcat歡迎界面: http://host:port/,如:http://192.168.13.123:8080/
4.tomcat參數調優:
-
啟動NIO模式
修改server.xml裡的Connector節點,修改protocol為org.apache.coyote.http11.Http11NioProtocol
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" />
-
線程池開啟并使用
去掉注釋,添加并調整參數:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="800" minSpareThreads="100" maxQueueSize="100" prestartminSpareThreads="true"/>
- Connector節點中指定線程池,并調整參數
<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" maxHttpHeaderSize="8192" maxThreads="1000" processorCache="1000" acceptCount="1000" minSpareThreads="100" acceptorThreadCount="8" URIEncoding="UTF-8" enableLookups="false" edirectPort="8443" connectionTimeout="120000" keepAliveTimeout="120000" maxKeepAliveRequests="65535" disableUploadTimeout="true" />
5.配置虛拟目錄
- 先把war包放到tomcat的webapp下,然後啟動,會在war包同級目錄下獲得同名檔案夾
- 把該同名檔案夾複制到/usr/java下,然後删除tomcat下webapp的war包和同名檔案夾
-
配置虛拟目錄
真實目錄:/usr/java/myweb
虛拟目錄:http://localhost:8080
虛拟目錄映射:
docBase:代表的是應用的真實路徑。
path:網絡通路的虛拟目錄名
- 啟動tomcat
6.Jvm調優相關
- 修改檔案:bin/catalina.sh
JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:NewRatio=2 -XX:MaxTenuringThreshold=50 -XX:+DisableExplicitGC"
-
jps -v
輸出虛拟機程序啟動時的JVM參數
-
jstat -gc 8331 250 20
監控Java堆狀況;每250毫秒查詢一次程序8331垃圾收集狀況,一共查詢20次
-
jstat -gcutil 8331
與-gc基本相同,但主要關注已使用空間占總空間的百分比
-
jmap -dump:format=b,file=xx.bin 8331
生成一個正在運作java的dump快照檔案
- VisualVM性能分析