漫游测试之性能测试(4.4.Linux下内存\磁盘\CPU问题的判断方法)
以vmstat这个工具查询出来的结果的字段为解释的依据。其它监控工具,只需要了解每个字段的说明,其原理类似。
[email protected]:~# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 3499840 315836 3819660 0 0 0 1 2 0 0 0 100 0
0 0 0 3499584 315836 3819660 0 0 0 0 88 158 0 0 100 0
0 0 0 3499708 315836 3819660 0 0 0 2 86 162 0 0 100 0
0 0 0 3499708 315836 3819660 0 0 0 10 81 151 0 0 100 0
1 0 0 3499732 315836 3819660 0 0 0 2 83 154 0 0 100 0
4.4.1内存问题的判断方法
Swpd表示虚拟内存的使用情况,如果大于0表示内存不足了;
Si,从磁盘读入虚拟内存量;so,从内存写入磁盘量,如果大于0均表示内存不足;
Free,如果长时间的趋势下降,或者没有呈波动回收,那么均表示内存方面有问题;
4.4.2磁盘问题的判断方法
Bi,块设备每秒接收的块数量;Bo,块设备每秒发送的块数量;理论上都需要接近0,否则都可能需要调整IO。
CPU的sy 过高也有可能是有频繁的IO操作,Bi和BO这2个指标应该同步有表现。
4.4.3CPU问题的判断方法
Cs过大,可能调用了系统函数,导致上下文切换,CPU被浪费于上下文切换,没有用于计算方面,是不可取的。此时TPS应该也上不去。
Us过大,说明CPU系统真正用到了地方,系统性能的优化方面就在算法了。
查看系统的进程和线程数,可以用pstree -p | wc -l来获取。
4.4.4注意文件句柄数和time_wait\time_close等影响
Linux默认文件句柄数是1024(可以通过ulimt设置大得大一些),当句柄数不足时,会提示‘too many open files’。
Linux中HttpClient调用时可能会产生大量的time_wait\time_close,从而影响性能处理能力(可以通过netstat -an |grep TIME_WAIT|wc -l命令进行查看)。