最近在補充本身的短板,恰好整理到Tomcat調優這塊,基本上面試必問,因而就花了點時間去搜集一下tomcat調優
都調了些什麼,先記錄一下調優手段,更多詳細的原理和實現之後用到時候再來補充記錄,下面就來介紹一下,
tomcat調優大體分爲兩大類:html
靜態資源若是讓tomcat處理的話tomcat的性能會被損耗不少,因此咱們通常都是採用:nginx+tomcat實現動靜分離,
讓 Tomcat 只負責 jsp 文件的解析工做,nginx實現靜態資源的訪問。java
executor
指定這個鏈接器所使用的執行器(線程池)nginx
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ##超時時間,毫秒,這裏是20秒 redirectPort="443" maxThreads="3000" ##最大線程數 minSpareThreads="20" ##最小空閒線程數,這裏是一直會運行的線程 acceptCount="1000" ##接收的隊列數 enableLookups="false" ##關閉dns解析,減小性能損耗 server="None" URIEncoding="UTF-8" />
對於每個請求都要建立一個線程來進行處理,不適合高併發apache
Apache JServer Protocol
使用Nginx+tomcat的架構,因此用不着AJP協議,因此把AJP鏈接器禁用tomcat
tomcat是運行在jvm上的,因此對jvm的調優也是很是有必要的。服務器
找到:catalina.sh架構
添加的位置併發
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8-server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XXermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
調整堆大小的的目的是最小化垃圾收集的時間,以在特定的時間內最大化處理客戶的請求,less
轉載:www.cnblogs.com/wangsen