Tomcat8.5配置優化

將原有的Executor標籤內容替換成如下內容
<Executor name="tomcatThreadPool" --線程池名
	 namePrefix="catalina-exec-"
	 maxThreads="500"
	 minSpareThreads="30"
	 maxIdleTime="60000"
	 prestartminSpareThreads = "true"
	 maxQueueSize = "100"/>


maxThreads:最大併發數,默認設置 200,一般建議在 500 ~ 800,根據硬件設施和業務來判斷
minSpareThreads:Tomcat 初始化時創建的線程數,默認設置 25
maxIdleTime:如果當前線程大於初始化線程,那空閒線程存活的時間,單位毫秒,默認60000=60秒=1分鐘。
prestartminSpareThreads:在 Tomcat 初始化的時候就初始化 minSpareThreads 的參數值,如果不等於 true,minSpareThreads 的值就沒啥效果了
maxQueueSize:最大的等待隊列數,超過則拒絕請求

將原有的Connector標籤內容替換成如下內容
<Connector executor="tomcatThreadPool"
	 port="8080"
	 protocol="org.apache.coyote.http11.Http11AprProtocol"
	 connectionTimeout="60000"
	 maxConnections="10000"
	 redirectPort="8443"
	 enableLookups="false"
	 acceptCount="100"
	 maxPostSize="10485760"
	 maxHttpHeaderSize="8192"
	 compression="on"
	 disableUploadTimeout="true"
	 compressionMinSize="2048"
	 acceptorThreadCount="2"
	 compressableMimeType="text/html,text/plain,text/css,application/javascript,application/json,application/x-font-ttf,application/x-font-otf,image/svg+xml,image/jpeg,image/png,image/gif,audio/mpeg,video/mp4"
	 URIEncoding="utf-8"
	 processorCache="20000"
	 tcpNoDelay="true"
	 connectionLinger="5"
	 server="Server Version 11.0"/>

替換後訪問速度肯定會比以前快

protocol:Tomcat 8 設置 nio2 更好:org.apache.coyote.http11.Http11Nio2Protocol
protocol:Tomcat 6 設置 nio 更好:org.apache.coyote.http11.Http11NioProtocol
protocol:Tomcat 8 設置 APR 性能飛快:

connectionTimeout:Connector接受一個連接後等待的時間(milliseconds),默認值是60000。
maxConnections:這個值表示最多可以有多少個socket連接到tomcat上
enableLookups:禁用DNS查詢
acceptCount:當tomcat起動的線程數達到最大時,接受排隊的請求個數,默認值爲100。
maxPostSize:設置由容器解析的URL參數的最大長度,-1(小於0)爲禁用這個屬性,默認爲2097152(2M) 請注意, FailedRequestFilter 過濾器可以用來拒絕達到了極限值的請求。
maxHttpHeaderSize:http請求頭信息的最大程度,超過此長度的部分不予處理。一般8K。
compression:是否啓用GZIP壓縮 on爲啓用(文本數據壓縮) off爲不啓用, force 壓縮所有數據
disableUploadTimeout:這個標誌允許servlet容器使用一個不同的,通常長在數據上傳連接超時。 如果不指定,這個屬性被設置爲true,表示禁用該時間超時。
compressionMinSize:當超過最小數據大小才進行壓縮
acceptorThreadCount:用於接受連接的線程數量。增加這個值在多CPU的機器上,儘管你永遠不會真正需要超過2。 也有很多非維持連接,您可能希望增加這個值。默認值是1。
compressableMimeType:配置想壓縮的數據類型
URIEncoding:網站一般採用UTF-8作爲默認編碼。
processorCache:協議處理器緩存的處理器對象來提高性能。 該設置決定多少這些對象的緩存。-1意味着無限的,默認是200。 如果不使用Servlet 3.0異步處理,默認是使用一樣的maxThreads設置。 如果使用Servlet 3.0異步處理,默認是使用大maxThreads和預期的併發請求的最大數量(同步和異步)。
tcpNoDelay:如果設置爲true,TCP_NO_DELAY選項將被設置在服務器套接字,而在大多數情況下提高性能。這是默認設置爲true。
connectionLinger:秒數在這個連接器將持續使用的套接字時關閉。默認值是 -1,禁用socket 延遲時間。
server:隱藏Tomcat版本信息,首先隱藏HTTP頭中的版本信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章