Linux服务器进行性能优化中,TCP 三次握手的原理以及优化?
您好,基本原理比较简单不再赘述,优化可以从如下方面考虑:
客户端在收到服务端 ACK 之前的重试,次数为 tcp_syn_retries(默认 6 次),间隔是 2^n 秒(n 为 0-retries-1),网络稳定的情况下考虑降低重试次数。
服务器端用于维护未完成握手信息的半连接队列大小 tcp_max_sync_backlog,可以增大半连接队列大小。
防 SYN DDOS 的 tcp_syncookies,不占用半连接队列大小。
服务器端回复 SYN+ACK 的重试次数 tcp_synack_retries(默认 5 次),网络不稳定应该调大。
服务器端未及时调用 accept 接受连接,tcp_abort_on_overflow(推荐使用默认 0 以应对突发流量)
服务器端全连接队列的长度 backlog 和 net.core.somaxconn
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。