基础架构性能测试主要包含如下关键参数
-
磁盘读写性能
-
磁盘iops
-
网络带宽
CPU与内存性能一般需要进行业务压测。根据业务使用场景进行测量
工具名称 | 用途 |
---|---|
dd | 磁盘写入性能测试 |
hdparm | 磁盘读性能测试 |
iperf3 | 网络性能测试 |
fio | 磁盘IOPS性能测试 |
网络性能测试
安装iperf3if
-
安装gcc
yum install -y gcc
-
下载iperf3 源码包
wget https://iperf.fr/download/source/iperf-3.1.3-source.tar.gz
-
编译iperf3
tar -xvf iperf-3.1.3-source.tar.gz -C /opt/ cd /opt/iperf-3.1.3 ./configure make && make install
编译成功后,同操作系统/架构下可以 直接拷贝如下文件到对应目录使用。
/usr/local/bin/iperf3 /usr/local/lib/libiperf.so.0
使用iperf3进行网速测试
iperf3 进行测试时候,不受磁盘I/O影响。
tcp测试
-
开启iperf3服务端
iperf3 -s
-
客户端访问测试
iperf3 -c 192.168.1.1
结果:
[ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 832 MBytes 6.98 Gbits/sec 0 649 KBytes [ 4] 1.00-2.00 sec 918 MBytes 7.70 Gbits/sec 0 901 KBytes [ 4] 2.00-3.00 sec 832 MBytes 6.98 Gbits/sec 0 926 KBytes [ 4] 3.00-4.00 sec 1016 MBytes 8.52 Gbits/sec 0 956 KBytes [ 4] 4.00-5.00 sec 936 MBytes 7.85 Gbits/sec 0 973 KBytes [ 4] 5.00-6.00 sec 1.02 GBytes 8.78 Gbits/sec 0 1.02 MBytes [ 4] 6.00-7.00 sec 858 MBytes 7.20 Gbits/sec 0 1.04 MBytes [ 4] 7.00-8.00 sec 1.01 GBytes 8.71 Gbits/sec 0 1.06 MBytes [ 4] 8.00-9.00 sec 1.01 GBytes 8.69 Gbits/sec 0 1.08 MBytes [ 4] 9.00-10.00 sec 866 MBytes 7.26 Gbits/sec 0 1.08 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 9.16 GBytes 7.87 Gbits/sec 0 sender [ 4] 0.00-10.00 sec 9.16 GBytes 7.86 Gbits/sec receiver
可以看到sender(上行带宽) receiver(下行带宽)
-
客户端使用udp测试(主要测试网络质量)
iperf3 -u -c 192.168.1.1
结果:
[ ID] Interval Transfer Bandwidth Total Datagrams [ 4] 0.00-1.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 1.00-2.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 2.00-3.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 3.00-4.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 4.00-5.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 5.00-6.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 6.00-7.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 7.00-8.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 8.00-9.00 sec 128 KBytes 1.05 Mbits/sec 16 [ 4] 9.00-10.00 sec 128 KBytes 1.05 Mbits/sec 16 - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.00-10.00 sec 1.25 MBytes 1.05 Mbits/sec 0.094 ms 0/159 (0%) [ 4] Sent 159 datagrams
可以看到
Lost/Total: 查看丢包率
jitter: 时延(客户端到服务端包时间偏移量)
磁盘性能测试
磁盘读性能测试
使用hdparm进行,在测试ssd时,可能会有不准确的现象。
-
安装hdparm
yum install -y hdparm
-
使用hdparm进行测试
hdparm -tT /dev/sda -t: 不使用缓存 -T: 使用缓存
结果:
/dev/sda: Timing cached reads: 17094 MB in 1.99 seconds = 8576.57 MB/sec Timing buffered disk reads: 1612 MB in 3.00 seconds = 537.13 MB/sec
Timing cached reads: 使用cache的读取速度。 Timing buffered disk reads:不使用cache的读取速度。
磁盘写性能测试
使用dd进行,必要时可以调整oflat、bs进行不同类型的测试。 一般操作系统都包含dd命令,rpm包名: coreutils
dd if=/dev/zero of=/home/test.iso bs=1M count=100 oflag=direct if: 数据来源 of: 数据输出路径 bs: 数据块大小 count: 写入次数。写入总量为:bs*count oflag: 写入类型标记,常用可选参数如下 --- direct 使用直接I/O 存取模式 dsync 使用同步I/O 存取模式 sync 与上者类似,但同时也对元数据生效 nonblock 使用无阻塞I/O 存取模式 noatime 不更新存取时间 nocache 丢弃缓存数据 nofollow 不跟随链接文件 ----
结果如下:
# dd if=/dev/zero of=/data/test.iso bs=1M count=1000 oflag=nocache 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 3.74474 s, 280 MB/s
磁盘读IOPS性能测试
使用FIO进行IOPS性能测试
-
安装FIO FIO官网:http://freshmeat.sourceforge.net/projects/fio/
#下载链接为临时生成,需要到官网入口进行获取。 #1. 下载压缩包 wget http://freshmeat.sourceforge.net/urls/3aa21b8c106cab742bf1f20d60629e3f -o fio-2.1.10.tar.gz #2. 解压 tar -xvf fio-2.1.10.tar.gz cd fio-2.1.10 #3. 编译 ./configure make && make install
-
开始测试 fio -filename=/tmp/test_randread -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=mytest
来源:oschina
链接:https://my.oschina.net/u/4442211/blog/3288192