最近老发现服务器丢包严重,想通过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