接文章[/系统优化-案例分析-网络丢包分析]
当服务的请求数变大时候,我们往往发现系统吞吐下降。排查思路如下:
优化连接数
用ss命令发现estab的很少,timewait很多。
1 | ss -s |
通过dmsg命令,查看系统的error信息排查是否是conntrack的问题。通过修改参数来解决。
1 | dmsg |tail |
排查应用问题
比如nginx和tomcat等我们可以查看应用错误的原因,因为大部分采用master+worker的方案,我们可以增加worker的进程
排查tcp方面的原因
用netstat -s|grep tcp 查看丢包原因,如果发现丢包原因是socket overflowed,则用ss -ltnp命令看下Linsterner端口的队列情况,增大backlog相关的参数。
1 | ss -ltnp |
优化端口范围
如果出现类似这样的错误,我们可以看下是否是端口范围过小导致没法创建新连接
1 | (99: Cannot assign requested address) |