Apache-2.2

有時我的 http 伺服器沒有響應,我看到連接重置或超時等錯誤

  • August 6, 2014

這是來自 munin 的圖表,可能會有所幫助 穆寧格勞

這也是我的http.conf

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   40
ServerLimit      2048
MaxClients       2048
MaxRequestsPerChild  8000
</IfModule>

PHP 在幾毫秒內生成頁面,但我不知道為什麼客戶端無法正確接收它。您還可以看到連接圖女巫在最後幾分鐘下降。在那一刻,我幾乎無法在我的網站上傳入任何頁面。

我從網路的角度看到太多 TIME_WAIT=9.76K(我不確定什麼是保證的意思)。time_wait 是您的系統由於許多 tcp 連接反复打開和關閉而耗盡套接字的情況。你可以使用 netstat -an 確認。您可以調整這些參數

            net.ipv4.tcp_timestamps = 1
            net.ipv4.tcp_tw_recycle = 1

tcp_tw_recycle - BOOLEAN

啟用快速回收 TIME-WAIT 套接字。預設值為 0。未經技術 專家

的建議/請求不得更改。
不建議啟用此選項,因為這會在使用 NAT(網路地址轉換)時出現問題。

tcp_tw_reuse - BOOLEAN允許在 從協議角度安全的

情況下為新連接重用 TIME-WAIT 套接字。
預設值為 0。未經技術 專家

的建議/請求不得更改。

但在此之前進行 tcpdump 並檢查新連接,如果需要這些連接,還要與您的應用程序團隊確認。

引用自:https://serverfault.com/questions/618337