1) 最佳方案是应用改造长连接,但是一般不太适用。
2) 修改系统回收参数。
设置以下参数。
如果这两个参数同时开启,会校验源ip过来的包携带的timestamp是否递增,如果不是递增的话,则会导致三次握手建联不成功,具体表现为抓包的时候看到syn 发出,server 端不响应 syn ack。
通俗一些来讲就是,一个局域网有多个客户端访问您,如果有客户端的时间比别的客户端时间慢,就会建联不成功。
治标不治本的方式:
放大端口范围。
sysctl net.ipv4.ip_local_port_range
放大 time_wait 的 buckets
sysctl net.ipv4.tcp_max_tw_buckets
关于 net.ipv4.tcp_max_tw_buckets 到底要不要放大,目前云上 ecs 多数是设置了5000,在很多场景下可能是不够的。
简单来说net.ipv4.tcp_max_tw_buckets 的作用是为了“优雅”的关闭连接。
完整的关闭连接。
避免有数据包重复。
资料来源:电子书《ECS运维指南之Linux系统诊断》,下载链接:https://developer.aliyun.com/topic/download?id=143
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。