Centos
在 centos 上調整 TCP sysctl
我的網站在高峰時間獲得更高的 tcp 超時並減慢一點,這裡有一些統計圖
sysctl 配置 atm:
net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296
知道我應該更改/添加到配置嗎?
我的第一個猜測是您看到您的網路接收緩衝區已滿,在這種情況下您可能希望使用 sysctl.xml 增加它們
sys.net.core.netdev_max_backlog
。您可能會在 中看到很多失去的連接
TIME_WAIT
,在這種情況下,您可能希望使用 刪除超時net.ipv4.vs.timeout_timewait
。這兩者都應該可以用 來辨識
netstat
。您的應用程序的套接字緩衝區也可能太小;
net.core.rmem_max
您可以使用,net.core.wmem_max
和net.ipv4.tcp_rmem
和來提升它們net.ipv4.tcp_wmem
。不過,情況可能並非如此,但如果您獲得大量流量,您可能會發現增加這些套接字緩衝區隊列大小有助於您處理流量。請記住在更改每個值之前和之後進行測量。我建議使用Google搜尋以了解他們的行為,以便您可以更好地將它們應用到您的案例中。