## 安装 sysbench
wget https://codeload.github.com/akopytov/sysbench/zip/master

unzip master
cd sysbench-master/
./autogen.sh
./configure  --prefix=/usr/local/sysbench
make
make install

## 测试磁盘读写
 yum install fio    -y    注意:**不要对有数据的磁盘或者分区做测试,会破坏已存在的数据**

##
yum install mtr sysstat  -y
cd /usr/local/sysbench/bin/

./sysbench   cpu run

CPU speed:  ## 速度
    events per second:   720.34      ##每秒事件

Throughput:   ##吞吐量
    events/s (eps):                      720.3381      ##每秒事件
    time elapsed:                        10.0009s      ##已用时间
    total number of events:              7204          ##事件总数

Latency (ms): ##延迟 
         min:                                  1.21    ##最小
         avg:                                  1.39    ##平均
         max:                                  1.71    ##最大
         95th percentile:                      1.50    ##按照95值计算
         sum:                               9990.46    ##总和

Threads fairness:  ## 线程排期
    events (avg/stddev):           7204.0000/0.00   ## 时间
    execution time (avg/stddev):   9.9905/0.00   ##执行时间

./sysbench   memory  run  

Total operations: 13937010 (1393663.92 per second)  ##总的操作

13610.36 MiB transferred (1361.00 MiB/sec)   ##   每秒移动速度

Throughput:  ## 吞吐量
    events/s (eps):                      1393663.9154
    time elapsed:                        10.0003s
    total number of events:              13937010

Latency (ms):   ##延迟
         min:                                  0.00
         avg:                                  0.00
         max:                                  0.18
         95th percentile:                      0.00
         sum:                               3829.60

Threads fairness:
    events (avg/stddev):           13937010.0000/0.00
    execution time (avg/stddev):   3.8296/0.00

磁盘IO 在进行下列测试前,请确保磁盘已经 4K 对齐。

测试随机写IOPS:
fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/[device] -name=Rand_Write_Testing
测试随机读IOPS:
fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/[device] -name=Rand_Read_Testing

测试写吞吐量:
fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/[device] -name=Write_PPS_Testing
测试读吞吐量:
fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/[device] -name=Read_PPS_Testing

上述测试时 fio 相关参数说明:

-direct=1
测试时忽略 IO 缓存,数据直写。

-rw=randwrite
测试时的读写策略,可选值 randread (随机读)、 randwrite(随机写)、 read(顺序读)、 write(顺序写)、 randrw (混合随机读写)。

-ioengine=libaio
测试方式使用 libaio (Linux AIO,异步 IO)。 应用使用 IO 通常有二种方式:同步和异步。同步的 IO 一次只能发出一个 IO 请求,等待内核完成才返回。这样对于单个线程 iodepth 总是小于 1,但是可以透过多个线程并发执行来解决。通常会用 16-32 根线程同时工作把 iodepth 塞满。 异步则通常使用 libaio 这样的方式一次提交一批 IO 请求,然后等待一批的完成,减少交互的次数,会更有效率。

-bs=4k
单次 I/O 的块文件大小为 4k。未指定该参数时的默认大小也是 4k。

-size=1G
测试文件大小为 1G。

-numjobs=1
测试线程数为 1。

-runtime=1000
测试时间为 1000 秒。如果未配置则持续将前述 -size 指定大小的文件,以每次 -bs 值为分块大小写完。

-group_reporting
测试结果显示模式,group_reporting 表示汇总每个进程的统计信息,而非以不同 job 汇总展示信息。

-filename=/dev/[device]
指定测试文件(设备)的名称。测试裸盘可以获得真实的磁盘性能,但直接测试裸盘会破坏文件系统结构,请在测试前提前做好数据备份。

-name=Rand_Write_Testing
测试任务名称。
例如:
write: io=1024.0MB, bw=6355.9KB/s, iops=1588, runt=164979msec

表示fio做了1 GB I/O,速率约为6 MB/s,总IOPS为1588,运行时间为164秒。由IOPS值可知,该SSD云盘的IOPS性能为 1588.
DNS测试
dig  www.qq.com
;; Query time: 3 msec

外网网络延迟和丢包率测量    mtr

[root@111 ~]#  mtr -r  42.62.55.58  -c 15
Start: Fri Dec 29 11:35:03 2017
HOST: 111                         Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 42.62.55.58                0.0%    15    0.3   0.3   0.3   0.4   0.0

第二列:snt:10 设置追踪的次数,默认值是10 可以通过参数 -c来定制,例如mtr -r -c 15 202.108.33.94
第三列 Loss: 是显示的每个对应IP的丢包率
第四列 Last: 显示的最近一次的返回时延
第五列 Avg : 是平均值 这个应该是发送ping包的平均时延
第六列 Best: 是最好或者说时延最短的
第七列 Wrst: 是最差或者说时延最常的
第八列 StDev: 是标准偏差