1. UnixBench
UnixBench 是测试类 Unix 系统性能的老牌工具,也是常用的基准测试工具。它会执行 11 个单项测试,包括字符串处理、浮点运算效率、 文件数据传输、管道吞吐等,然后将结果与一个基准系统进行比较,得到一个指数值。指数值越高,性能越好。
最终的得分比单个测试的结果根据参考价值,而且也方便对服务器进行比较。
在安装 UnixBench 之前,要先准备好相关的依赖。请执行:
yum install perl-Time-HiRes libx11-dev libgl1-mesa-dev libxext-dev perl perl-modules make gcc
下载安装包,然后按下面的提示操作。官方的源在 googlecode 上,国内访问不便,我已经将文件上传到对象存储服务。
wget http://codingpy-1252715393.cosgz.myqcloud.com/archive/UnixBench5.1.3.tgz
tar xvf UnixBench5.1.3.tgz
cd UnixBench
运行 make 之前,确保将 Makefile 文件中 GRAPHICS_TEST = defined 行被注释掉,因为我们是在服务器端进行测试,不需要做 2D/3D 图形测试。
最后,执行:
./Run
如果一切正常,应该会出现类似下面的文字:
UnixBench 运行
UnixBench 测试的运行时间比较长,期间可以离开去干别的事情。
除了直接在命令行输出测试结果之外(如下图),还会在 result 目录下生成一个 HTML 格式的报告,可以将其拷贝至本地。
UnixBench 测试结果
一般来说,得分在 1000 以上的云服务器就算还不错的。
2. IOPing
磁盘性能的另一个指标是延迟。可以通过 IOPing 工具进行测试。IOPing 会运行指定数量的磁盘 I/O 请求,并测试响应的时间。输出结果测试使用 ping 命令测试网络延迟的输出。
操作如下提示安装 IOPing:
yum install ioping
然后通过下面的命令运行测试:
ioping -c 100 .
-c 100选项是ioping将要编号的请求。 该程序也作为文件和/或设备检查的参数。 在这种情况下,实际的工作目录。
输出结果类似下面这样,我们取其中 avg 对应的值:
4 KiB <<< . (xfs /dev/dm-2): request=1 time=16.3 ms (warmup)
4 KiB <<< . (xfs /dev/dm-2): request=2 time=253.3 us
4 KiB <<< . (xfs /dev/dm-2): request=3 time=284.0 ms
… 4 KiB <<< . (xfs /dev/dm-2): request=96 time=175.6 us (fast)
4 KiB <<< . (xfs /dev/dm-2): request=97 time=258.7 us (fast
4 KiB <<< . (xfs /dev/dm-2): request=98 time=277.6 us (fast)
4 KiB <<< . (xfs /dev/dm-2): request=99 time=242.3 us (fast)
4 KiB <<< . (xfs /dev/dm-2): request=100 time=36.1 ms (fast)
--- . (xfs /dev/dm-2) ioping statistics ---
99个请求在3.99秒完成,396 KiB读取,24 iops,99.3 KiB / s
在1.65分钟,400 KiB,1 iops,4.04 KiB / s中产生100个请求
min / avg / max / mdev = 163.5 us / 40.3ms / 760.0ms / 118.5ms
请求响应时间越低,说明磁盘性能越好。