maxKeepAliveRequests=“1”:
nginx動態的轉給tomcat,nginx是不能keepalive的,而tomcat端默認開啟了keepalive,會等待keepalive的timeout,
默認不設置就是使用connectionTimeout。所以必須設置tomcat的超時時間,並關閉tomcat的keepalive。
否則會產生大量tomcat的socket timewait。maxKeepAliveRequests=”1”就可以避免tomcat產生大量的TIME_WAIT連接,從而從一定程度上避免tomcat假死。
在 Tomcat 里是允許配置長連接的,配置 conf/server.xml 文件,配置 Connector 節點,該節點負責控制瀏覽器與 Tomcat 的連接,其中與長連接直接相關的有兩個屬性,它們分別是:keepAliveTimeout,它表示在 Connector 關閉連接前,Connector 為另外一個請求 Keep Alive 所等待的微妙數,默認值和 connectionTimeout 一樣;另一個是 maxKeepAliveRequests,它表示 HTTP/1.0 Keep Alive 和 HTTP/1.1 Keep Alive / Pipeline 的最大請求數目,如果設置為 1,將會禁用掉 Keep Alive 和 Pipeline,如果設置為小於 0 的數,Keep Alive 的最大請求數將沒有限制。也就是說在 Tomcat 里,默認長連接是打開的,當我們想關閉長連接時,只要將 maxKeepAliveRequests 設置為 1 就可以。