Intro Tomcat MaxKeepAliveRequests
Intro Tomcat MaxKeepAliveRequests
Intro Tomcat MaxKeepAliveRequests
Intro Tomcat MaxKeepAliveRequests
maxKeepAliveRequests(通常用於HTTP伺服器相關設定)
表示一個長連線(keep-alive 連線)在關閉前最多能處理的請求數量。
當該數量到達設定值時,服務器會在回應中發送 Connection: close 標頭,通知客戶端關閉連線。
具體用途與影響包括:
控制同一 TCP 連線上可連續處理的請求數量,防止連線長時間持續而造成資源浪費。
限制請求數量後自動關閉連線,有助於資源回收與伺服器負載管理。
適用於 HTTP 長連線(keep-alive)場景,提高連線重用率但避免過久佔用。
總結:
maxKeepAliveRequests 是一個服務器端HTTP連接保持活動狀態的最大请求數限制,
達到該數量後,連接會被關閉以節省資源。這有助於平衡資源利用率和連結重用效率。
maxKeepAliveRequests 的建議設定值會依使用場景與伺服器資源不同而變化,一般考慮以下因素調整:
若追求連線最大重用率且伺服器有充足資源,可以設定較高,如 100 至 500,減少頻繁建立拆除連線的開銷。
若伺服器資源有限,或擔心連線長期佔用導致資源飢餓,可設定中等值,如 50 至 100。
非常高流量且連線快速輪轉環境,可適度調低,避免單一連線佔用過多請求而拖延新連線的排隊。
多數生產環境 HTTP 伺服器常見設定約 100~200 範圍,這個階段通常能平衡效能與資源回收。
建議根據實際負載和監控指標(如連線數、請求延遲、伺服器資源利用率)觀察調整,動態優化。
總結:
初期建議可設 100
根據需求上下調整 50~500 範圍
配合服務特性及資源使用情況做優化決策
若設定為 0(或部分系統為 -1),代表不限制請求數,連線會一直保持直到客戶端關閉或者超時。
舉例:Apache 預設 MaxKeepAliveRequests 是 100,
設定成 0 代表無限制MaxKeepAliveRequests 用於設定伺服器所能接受之最大連續請求量,
如果連續請求超過這個數限制則伺服器會自動關閉連線。