tomcat 9.0.4 性能調優

tomcat 9.0.4 性能調優

複製代碼

參考了網上的一些優化參數,可是在啓動中發現 有2個報錯:

11-Feb-2018 15:57:23.293 警告 [main] org.apache.catalina.startup.SetAllPropertiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxSpareThreads' to '200' did not find a matching property.
11-Feb-2018 15:57:23.343 警告 [main] org.apache.catalina.startup.SetAllPropertiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'compressableMimeType' to 'text/html,text/xml,application/javascript,text/css,text/plain' did not find a matching property.
參考官方文檔

http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
maxSpareThread  這個參數已經找不到了。

compressableMimeTyp 已更換名字爲 compressibleMimeType

複製代碼

複製代碼

最後修改以下:

<Connector
port="8080"  
protocol="org.apache.coyote.http11.Http11NioProtocol" 
enableLookups="false"            
maxThreads="1000"               
minSpareThreads="100"                            
acceptCount="900"               
disableUploadTimeout="true"              
connectionTimeout="20000"               
URIEncoding="UTF-8"                           
redirectPort="8443"               
compression="on"              
compressionMinSize="1024" 
useSendfile="false"
noCompressionUserAgents="gozilla, traviata"            
compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript "   />
參數說明:

org.apache.coyote.http11.Http11NioProtocol:調整工做模式爲Nio
maxThreads:最大線程數,默認150。增大值避免隊列請求過多,致使響應緩慢。
minSpareThreads:最小空閒線程數。
acceptCount:當處理請求超過此值時,將後來請求放到隊列中等待。
disableUploadTimeout:禁用上傳超時時間
connectionTimeout:鏈接超時,單位毫秒,0表明不限制
URIEncoding:URI地址編碼使用UTF-8
enableLookups:關閉dns解析,提升響應時間
compression:啓用壓縮功能
compressionMinSize:最小壓縮大小,單位Byte
compressibleMimeType :壓縮的文件類型
實際測試,可正常運行。無報錯

©著做權歸做者全部:來自51CTO博客做者295631788的原創做品,如需轉載,請註明出處,不然將追究法律責任

複製代碼

 

複製代碼

Alan@wu
Tomcat 內存與優化篇
Tomcat 內存與優化
1、Tomcat 運行環境介紹
1.Tomcat 自己沒法直接在計算機上運行,須要依賴硬件基礎上的操做系統和Java虛擬機;
2.Java 程序啓動時JVM都會分配一個初始內存和最大內存給這個應用;
3.當應用程序用到最大內存的時刻,就會觸發JVM作垃圾回收(GC)動做,釋放被佔用的內存;
4.所以想要調整Java程序啓動時的初始內存和最大內存,須要向JVM申請;
5.若是初始內存大小設置太小,且此時初始化的應用對象過多,虛擬機就必須重複的加載內存來知足使用;
6.基於以上緣由,最好把初始內存大小(Xms)和最大內存(Xmx)設置成同樣;
7.JVM上全部的對象都在"""堆區(heap)"""上分配內存(也有在"棧"上分配內存的)
8.堆區的大小是能夠動態擴展的,但"""堆"""的大小受限於系統使用的物理內存,當應用程序須要的內存超出"堆"的最大值時,JVM虛擬機就會拋出內存溢出異常,而且致使應用程序奔潰;
9.基於以上緣由,建議「堆」的大小設置成物理內存的80%

複製代碼

複製代碼

Linux下的tomcat:

須要找到catalina.sh,在  cygwin=false  的上面一行加上:

1 JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
Windows下解壓版的tomcat

要經過startup.bat啓動tomcat才能加載配置

要添加在tomcat 的bin 下catalina.bat 裏

rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%後面添加,紅色的爲新添加的.

1 set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
 

狀況二:安裝版的Tomcat ,沒有catalina.bat

 

安裝版的Tomcat下沒有catalina.bat
若是tomcat 6 註冊成了windows服務,或者windows2003下用tomcat的安裝版, 
在/bin/tomcat6w.exe裏修改就能夠了 。 

若是tomcat 5, windows服務執行的是bin\tomcat.exe.他讀取註冊表中的值,而不是catalina.bat的設置.
修改註冊表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值爲
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
加入 -Xms300m -Xmx350m 
重起tomcat服務,設置生效

複製代碼

相關文章
相關標籤/搜索