Apache-2.2
有時我的 http 伺服器沒有響應,我看到連接重置或超時等錯誤
這是來自 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 並檢查新連接,如果需要這些連接,還要與您的應用程序團隊確認。