对于业务服务器性能的采集,必须遵循两点:第一,性能数据采集的方法尽可能简单、通用,尽量避免在业务服务器内安装程序;第二,操作步骤和方法必须简练,因为大多数情况下,性能采集的工作需要业务方来完成,过于复杂的操作,很容易造成性能数据无法采集。本节介绍Linux系统下,如何采集Linux性能数据。
1.Linux系统性能采集原则
首先,对于Linux系统性能采集,其结果必须包含4个部分的数据:1)CPU性能;2)磁盘I/O性能;3)网络发包率及吞吐性能;4)内存及swap使用情况。
其次,采集过程要尽可能对系统本身无压力,所以,最好使用Linux系统自带的命令。
最后,操作要尽可能简单,一般来说,在Linux系统下,使用shell脚本是一个不错的选择。因为简单的shell脚本兼容性非常好,Linux都带Shell的运行环境。
2.常用的Linux系统性能查看命令介绍
Linux系统性能查看的命令很多,而且每个命令都很强大,在命令后面带不同的参数,可以查看不同项目的性能,下面介绍几个常用的查看服务器性能的命令,这些命令采集到的数据,可以作为压力模型建立的依据。
(1)CPU性能采集
CPU性能采集命令:sar -P ALL 2 10
命令含义:每隔2秒显示采集一次,一共采集10次CPU所有核的性能。其中,ALL可以用任意和核心ID来替换,以获取这个核的性能信息。输出的最后有一个汇总的平均性能信息。
%user:显示在用户级别应用运行使用CPU总时间的百分比。
%nice:显示在用户级别,用于nice操作,所占用CPU总时间的百分比。
%system:在核心级别(Kernel)运行所使用CPU总时间的百分比。
%iowait:显示用于等待I/O操作占用CPU总时间的百分比。
%steal:管理程序(Hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比。
%idle:显示CPU空闲时间占用CPU总时间的百分比。
[root@localhost ~]# sar -P ALL 2 10
Linux 4.0.7-200.fc21.x86_64 (localhost.localdomain) 12/04/2015 _x86_64_ (2 CPU)
03:33:30 PM CPU %user %nice %system %iowait %steal %idle
03:33:32 PM all 8.59 0.00 2.27 0.00 0.00 89.14
03:33:32 PM 0 2.53 0.00 0.00 0.00 0.00 97.47
03:33:32 PM 1 15.08 0.00 4.52 0.00 0.00 80.40
03:33:32 PM CPU %user %nice %system %iowai