优化思路
见图:
应用层:应用程序错误
Socket:读写缓冲区溢出。排查方案,查看socket参数,抓包
TCP:资源或者链接跟踪超限。排查方案,netstat -s
IP:MTU获取路由错误。排查方案,netstat -i
网络链路层:QoSor校验错误。排查方案,tc
网卡:网络拥塞,DMA的ringBuffer溢出。排查方案,netstat -i,抓包
案例排查链路
看网络包收发状态
1 | root@nginx:/# netstat -i |
查看QoS策略
如下有一个丢包30%的策略删除之
1 | root@nginx:/# tc -s qdisc show dev eth0 |
看tcp收发情况
1 |
|
查看iptables
查看各种链的策略
1 | iptables -t filter -nvL ip是数字 verbose list [--line-number-] |
注意MTU的大小
hping3 -S通过,但是http访问依然,原因可能和MTU有关,排查后调整
curl: (28) Operation timed out after 3005 milliseconds with 0 bytes received
1 | root@nginx:/# netstat -i |