標籤:tomcat net encoding body tps blank es2017 csdn href
一.記憶體
注:
jdk1.8中廢棄了-XX:PermSize和-XX:MaxPermSize的持久態(存放常量、靜態變數區)配置,
多了一個中繼資料區(Metadata Space:預設為記憶體的0.2%):所以設定中繼資料區大小的參數也變成對應的MetaspaceSize和MaxMetaspaceSize了。
set JAVA_OPTS=-server -Xms2048M -Xmx2048M -Xss2m -XX:MetaspaceSize=256m -XX:MaxNewSize=1024m
開啟tomcat後,使用jps查看連接埠佔用情況:
bootstrap即是tomcat的進程號
然後用jmap -heap 20372查看詳情
顯示證明配置已經成功. 注:jps和jmap命令必須要配置好java的環境變數.
2.配置最佳化(並發)
開啟tomcat安裝目錄\conf\server.xml檔案,定位到這一行:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
這一行就是我們的tomcat容器績效參數設定的地方,它一般都會有一個預設值,這些預設值是遠遠不夠我們的使用的,我們來看經過更改後的這一段的配置:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="1000" minSpareThreads="100" acceptCount="1000" maxConnections="1000" connectionTimeout="20000" maxHttpHeaderSize="8192" tcpNoDelay="true" compression="on" compressionMinSize="2048" disableUploadTimeout="true" redirectPort="8443" enableLookups="false" URIEncoding="UTF-8" />
配置線程池:在service標籤下Connector之前配置
<!-- 線程池 --> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="100" maxIdleTime="60000" maxQueueSize="Integer.MAX_VALUE" prestartminSpareThreads="false" threadPriority="5" className="org.apache.catalina.core.StandardThreadExecutor"/>
線程池配置完成後在Connector中引用:
<Connector executor="tomcatThreadPool" ...
參考部落格:http://blog.csdn.net/qq525099302/article/details/78396120
https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
http://blog.csdn.net/u012562943/article/details/51441157
http://blog.csdn.net/wangyonglin1123/article/details/50986524
(windows下)tomcat最佳化--記憶體,並發.緩衝三方面最佳化