一、网络测试(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
总结:
未完,待续。