关于服务器性能测试工具的小结

一、网络测试(iperf3)

1、服务端:

在linux安装iperf3,命令为:yum install -y iperf3

安装后关闭防火墙,centos7命令为:systemctl stop firewalld

运行iperf3服务端,命令为:iperf3 -s

服务端使用的5201端口,如果使用云服务器,要将安全组的5201端口放行。

2、客户端:

若使用windows版客户端,可在官网下载:https://iperf.fr/iperf-download.php

然后安装,在命令行输入命令:iperf3 -c x.x.x.x(服务端ip) -t 10

意思为向服务端发送10秒的数据包,测试最大传输速度和带宽。结果如下:

若测试指定带宽(如1M),命令为:iperf3 -c x.x.x.x -p 5201 -I 1 -t 30 -u -b 1M –R

至此,网络测试完成。

二、存储硬盘iops和读写性能测试(fio)

1、安装fio工具,命令:yum install -y fio

fio -directory=/fiotest -direct=1 -iodepth=4 -thread=1 -ioengine=libaio -randrepeat=0 -bs=4k -size=2G -group_reporting -rw=randread -name=4k-randread

参数 说明

-directory=/fiotest

表示测试的文件目录所在的位置,根目录下的fiotest文件,若文件不存在则会自动创建

-direct=1

表示测试时忽略I/O缓存,数据直写。
-iodepth=4 表示使用AIO时,同时发出I/O队列数的上限为4,不能过大也不能过小,过大IO在队列的等待时间也会增加,导致IO响应时间变大
-rw=randwrite 表示测试时的读写策略为随机写(random writes)。作其它测试时可以设置为:
  • randread(随机读random reads)
  • read(顺序读sequential reads)
  • write(顺序写sequential writes)
  • randrw(混合随机读写mixed random reads and writes)
-ioengine=libaio 表示测试方式为libaio(Linux AIO,异步I/O)。应用程序使用I/O通常有两种方式:
  • 同步

    同步的I/O一次只能发出一个I/O请求,等待内核完成才返回。这样对于单个线程iodepth总是小于1,但是可以透过多个线程并发执行来解决。通常会用16−32根线程同时工作将iodepth塞满。

  • 异步

    异步的I/O通常使用libaio这样的方式一次提交一批I/O请求,然后等待一批的完成,减少交互的次数,会更有效率。

-bs=4k

表示单次I/O的块文件大小为4 KB。未指定该参数时的默认大小也是4 KB。

测试IOPS时,建议将bs设置为一个比较小的值,如本示例中的4k。

测试吞吐量时,建议将bs设置为一个较大的值,如本示例中的1024k。

-size=1G 表示测试文件大小为1 GiB。
-numjobs=1 表示测试线程数为1。
-runtime=1000 表示测试时间为1000秒。如果未配置,则持续将前述-size指定大小的文件,以每次-bs值为分块大小写完。
-group_reporting 表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。
-filename=iotest 指定测试文件的名称,比如iotest。测试裸盘可以获得真实的硬盘性能,但直接测试裸盘会破坏文件系统结构,请在测试前提前做好数据备份。
-name=Rand_Write_Testing 表示测试任务名称为Rand_Write_Testing,可以随意设定。

结果如下:

三、cpu性能测试(unixbench)

下载unixbench,命令:wget http://www.CTOHome.com/linux-vps-pack/unixbench.sh

赋权限,命令: chmod 765 unixbench.sh

执行测试:命令:./unixbench.sh

过一段时间后显示cpu型号和性能参数如下:

更具体的内容和参数解释参照https://www.jianshu.com/p/c8ba467093a6

总结:

未完,待续。

猜你喜欢

转载自www.cnblogs.com/wdp-home/p/11736230.html