QA过程
Q: TCP链接最多5k为什么
A: net.ipv4.tcp_max_tw_buckets = 5000
Q: 应该设置为多少
A:
net.ipv4.tcp_max_tw_buckets 配置说明
net.ipv4.tcp_max_tw_buckets = 55000
Q: 为什么55000?跟端口有什么关系?
A: TCP TIME_WAIT状态的意义
- ActiveClose 一方的状态为这个
- 反向代理服务器会有端口耗尽的问题,原因见后边的文章
Q: 除了设置这个参数,还应该设置哪些参数?
A: tcp_re_resuse等
Q: 还有哪些调优注意事项?
Q: Nginx 如何调优?
1. Linux 核心调优
- Linux内核调优参数对比与解释
- 查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等
- 单服务器最大tcp连接数及调优汇总
- 理论上两台主机可以建立多少tcp连接
- 一个IP地址最多可以同时对外发起多少TCP连接
- TCP端口数65535的限制
2. TIME_WAIT 顺带 CLOSE_WAIT
- Coping with the TCP TIME-WAIT state on busy Linux servers
- TCP TIME_WAIT 详解
- net.ipv4.tcp_max_tw_buckets 配置说明
- linux 大量的TIME_WAIT解决办法
- tcp短连接TIME_WAIT问题解决方法大全(1)——高屋建瓴
- tcp_tw_reuse、tcp_tw_recycle 使用场景及注意事项
- 理解TIME_WAIT,彻底弄清解决TCP: time wait bucket table overflow
- HttpClient连接池
- 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
3. Nginx or Haproxy 端口耗尽
- [https://www.haproxy.com/blog/haproxy-high-mysql-request-rate-and-tcp-source-port-exhaustion/]
- Nginx/Haproxy端口耗尽导致整个机器所有服务受到影响
- haproxy TCP源端口耗尽问题(单个网卡最多65535个端口)
- 短连接导致端口耗尽
网友评论