linux系統 net.core.somaxconn引數
阿新 • • 發佈:2021-08-30
1、如何檢視該引數值
1)檢視所有核心引數及值
sysctl -a # 檢視所有核心引數及值
2)檢視net.core.somaxconn引數
[root@localhost ]# sysctl -a | grep net.core.somaxconn
net.core.somaxconn = 128
or
[root@localhost ]# cat /proc/sys/net/core/somaxconn
128
該引數值預設是128
2、如何修改該引數值
1)立即生效
sysctl -w net.core.somaxconn=1024 1 [root@localhost ]# sysctl -a | grep net.core.somaxconn net.core.somaxconn = 128 [root@localhost ]# sysctl -w net.core.somaxconn=1024 net.core.somaxconn = 1024 [root@localhost ]# sysctl -a | grep net.core.somaxconn net.core.somaxconn = 1024
該方法在重啟系統之後會失效,引數值重新恢復成最初的128
2)永久生效
在/etc/sysctl.conf檔案中新增一行 net.core.somaxconn=1024;執行sysctl -p
# vim /etc/sysctl.conf
net.core.somaxconn=1024
# sysctl -p -p選項使sysctl.conf配置檔案生效
3、net.core.somaxconn 介紹
1)概念介紹
對於一個TCP
連結,Server
與Client
需要通過三次握手來建立網路連結,當三次握手成功之後,我們就可以看到埠狀態由LISTEN
轉為ESTABLISHED
,接著這條鏈路上就可以開始傳送資料了
net.core.somaxconn
是Linux中的一個核心(kernel)引數,表示socket
監聽(listen
)的backlog
上限。
什麼是backlog
?backlog
就是socket的監聽佇列,當一個請求(request
)尚未被處理或者建立時,它就會進入backlog
。
而socket server
可以一次性處理backlog
中的所有請求,處理後的請求不再位於監聽佇列中。
當Server
處理請求較慢時,導致監聽佇列被填滿後,新來的請求就會被拒絕。
2)補充
Linux系統中,該引數的值預設是128
如果Linux系統中部署了經常處理新請求(request)的高負載的服務,那麼顯然這個值是需要增加到更合適的值的