张银奎先生写的《查看网络的统计-软件调试》PDF 挺有干货的,尤其是前端/运维打交道的时候,经常要看看网络和 CPU 的状态,这份资料就挺实用的。
像sar
命令的使用写得蛮细,比如sar -u -o test 10 3
,每 10 秒采一次,总共采三次,结果还以二进制存进当前目录,适合你想做定时记录的时候用。
%user、%iowait这些指标看得懂了,你就能判断出系统是卡 CPU 了还是在等磁盘响应。如果你做前端页面测试,感觉慢但又不知道是哪里慢,这些指标能帮你缩小排查范围。
还有网络方面,sar -n DEV
命令能看各个网卡的吞吐,用来判断是不是网络卡顿。sar虽然老,但真的挺硬核,不依赖 GUI,ssh 上去就能查,效率高。
资料里还有个小贴士:%idle如果一直低,系统响应慢,那多半是 CPU 资源不够,得上配置了;反之%iowait
高的话,多半是硬盘瓶颈。
建议你先按上面命令跑一圈,把几个 CPU 状态对着解释看看,熟悉之后,用来调试前端后台响应问题真的还不错。相关内容你还可以看看netstatasp 命令详解或者网络监控服务,配合起来用更方便。