Tomcat 之 server.xml 優化配置

Tomcat 是我們最常用的服務器之一,合理的優化配置,往往有非常好的效果。配置的話主要分兩塊,一個 server.xml,還有一個就是 JVM 參數的配置。這裡我們以8.5版本為例,主要看下 server.xml 的配置先。

Tomcat 之 server.xml 優化配置

1、線程優化

Tomcat 之 server.xml 優化配置

  • maxThreads:最大併發數,默認設置 200,建議在 500 ~ 800。
  • minSpareThreads:Tomcat 初始化時創建的線程數,默認設置 25。
  • maxQueueSize:最大的等待隊列數,超過則拒絕請求。
  • maxIdleTime:空閒線程存活的時間,單位毫秒,默認60000=60秒。
  • prestartminSpareThreads:為 true時,minSpareThreads 才有效果。

2、Connector 優化

Tomcat 之 server.xml 優化配置

  • protocol :TOMCAT8以上使用org.apache.coyote.http11.Http11Nio2Protocol,效率會更高。
  • 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。
  • processorCache:協議處理器緩存的處理器對象來提高性能。 該設置決定多少這些對象的緩存。-1意味著無限的,默認是200。 如果不使用Servlet 3.0異步處理,默認是使用一樣的maxThreads設置。 如果使用Servlet 3.0異步處理,默認是使用大maxThreads和預期的併發請求的最大數量(同步和異步)。
  • tcpNoDelay:如果設置為true,TCP_NO_DELAY選項將被設置在服務器套接字,而在大多數情況下提高性能。這是默認設置為true。
  • connectionLinger:秒數在這個連接器將持續使用的套接字時關閉。默認值是 -1,禁用socket 延遲時間。
  • URIEncoding:網站一般採用UTF-8作為默認編碼。
  • server:隱藏Tomcat版本信息,首先隱藏HTTP頭中的版本信息。
  • compressableMimeType:配置想壓縮的數據類型。


分享到:


相關文章: