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 內存與優化
一、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服務,設置生效

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM