最近老發現服務器丟包嚴重,想通過ssh登錄查看原因,但是仍然失敗,后來重啟云服務器后通過單用戶模式進入查看系統日志:
TCP: request_sock_TCP: Possible SYN flooding on port 80. Sending cookies. Check SNMP counters
系統的內存,CPU資源是沒問題的,足夠當前的業務量了,所以初步懷疑是并發連接過多導致丟包嚴重,
因此我修改了
修改 /etc/sysctl.conf,添加如下參數設置。
# 當 SYN 等待隊列溢出時,啟用 cookie。
net.ipv4.tcp_syncookies = 1# 允許 TIME_WAIT socket 重用。
net.ipv4.tcp_tw_reuse= 1# 快速回收 TIME_WAIT socket。
net.ipv4.tcp_tw_recycle= 1# FIN_WAIT 超時時間。
net.ipv4.tcp_fin_timeout = 30# 啟用 keepalive 時,發送消息的頻率。(默認: 7200 秒)
net.ipv4.tcp_keepalive_time = 1800# 用于外連的端口范圍。(默認: 32768 到 61000)
net.ipv4.ip_local_port_range= 10000 6