1.增加JVM堆內存大小
1)JVM通常不去調用垃圾回收器,所以服務器可以更多關注處理web請求,并要求盡快完成。
2)更改文件(catalina.sh)
JAVA_OPTS=”-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC” -Xms – 指定初始化時化的棧內存 -Xmx – 指定最大棧內存
2.修復JRE內存泄漏
1)最新的tomcat版本6.0.26及以上就可以解決這個錯誤,因為它包含了一個監聽器來處理JRE和PermGen的內存泄漏。
2)更改server.xml
<Listener className=“org.apache.catalina.core.JreMemoryLeakPreventionListener” />
3.線程池設置
maxThreads的值應該根據流量的大小,
如果值過低,將有沒有足夠的線程來處理所有的請求,請求將進入等待狀態,只有當一個的處理線程釋放后才被處理;
如果設置的太大,Tomcat的啟動將花費更多時間。因此它取決于我們給maxThreads設置一個正確的值。
其中和最大連接數相關的參數為maxProcessors 和 acceptCount 。如果要加大并發連接數,應同時加大這兩個參數。
<Connector port=“9027” protocol=“HTTP/1.1” maxHttpHeaderSize=“8192” maxThreads=“1000” minSpareThreads=“100” maxSpareThreads=“1000” minProcessors=“100” 最小空閑連接線程數,用于提高系統處理性能 maxProcessors=“1000” 最大連接線程數,即:并發處理的最大請求數 enableLookups=“false” 是否反查域名,取值為: true 或 false 。為了提高處理能力,應設置為 false compression=“on” compressionMinSize=“2048” compressableMimeType=“text/html,text/xml,text/javascript,text/css,text/plain” connectionTimeout=“20000” 網絡連接超時,單位:毫秒。設置為 0 表示永不超時,這樣設置有隱患的。通??稍O置為30000 毫秒。 URIEncoding=“utf-8” acceptCount=“1000” 允許的最大連接數,應大于等于 maxProcessors redirectPort=“8443” disableUploadTimeout=“true”/>
4.壓縮
compression=“on”compressionMinSize=“2048”
當文件的大小大于等于2048bytes時才會壓縮
5.數據庫性能調優
Tomcat性能在等待數據庫查詢被執行期間會降低
確保所有數據庫連接正確地關閉。
最大空閑數(maxIdle),最大連接數(maxActive),最大建立連接等待時間(maxWait)屬性的值。
6.其它選項
開啟瀏覽器的緩存,這樣讀取存放在webapps文件夾里的靜態內容會更快,大大推動整體性能
每當開機時,Tomcat服務器應當自動地重啟
一般情況下HTTPS請求會比HTTP請求慢。如果你想要更好的安全性,即使慢一點我們還是要選擇HTTPS
設置TOMCAT啟用GZIP壓縮
compression=”on” 打開壓縮功能compressionMinSize=”50″ 啟用壓縮的輸出內容大小,默認為2KBnoCompressionUserAgents=”gozilla, traviata” 對于以下的瀏覽器,不啟用壓縮compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain“ 哪些資源類型需要壓縮
以上所述是小編給大家介紹的tomcat性能優化(性能總覽),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答
圖片精選