1. 程式人生 > 其它 >linux系統 net.core.somaxconn引數

linux系統 net.core.somaxconn引數

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連結,ServerClient需要通過三次握手來建立網路連結,當三次握手成功之後,我們就可以看到埠狀態由LISTEN轉為ESTABLISHED,接著這條鏈路上就可以開始傳送資料了

net.core.somaxconn是Linux中的一個核心(kernel)引數,表示socket監聽(listen)的backlog上限。
什麼是backlogbacklog就是socket的監聽佇列,當一個請求(request)尚未被處理或者建立時,它就會進入backlog
socket server可以一次性處理backlog中的所有請求,處理後的請求不再位於監聽佇列中。
Server處理請求較慢時,導致監聽佇列被填滿後,新來的請求就會被拒絕。

2)補充

Linux系統中,該引數的值預設是128
如果Linux系統中部署了經常處理新請求(request)的高負載的服務,那麼顯然這個值是需要增加到更合適的值的

永遠年輕,永遠熱淚盈眶