
sysctl 選項net.core.somaxconn
預設為 128(在我們的系統上),但可以提高。
這個極限測量和封頂到底是什麼?
我如何知道我離極限有多近?
背景:我最近遇到了一個問題,似乎可以透過提高此限制來修正。這個問題是間歇性的,所以我不相信它真的得到了解決。我想知道當前的數量 [無論此設定上限] 是否大於之前的最大限制 128。
答案1
somaxconn
確定係統上每個 TCP 連接埠允許的最大積壓連線數。增加它(建議伺服器使用)可以防止「連線被拒絕」訊息,但如果伺服器無法處理增加的負載,則可能會導致連線緩慢。
netstat -ant | grep -c SYN_REC
您可以根據以下內容檢查目前的積壓工作這一頁。它將統計有多少連線處於「SYN收到」狀態,這表示系統已收到SYN封包(連線請求)但尚未確認。
如果您的系統已ss
安裝,您也可以使用它ss -s
來顯示連線摘要。synrecv
在輸出中查找,或ss -s | grep -Po '(?<=synrecv )\d+(?=,)'
僅列印數字。