基础架构性能测试

与世无争的帅哥 提交于 2020-04-21 10:36:34

基础架构性能测试主要包含如下关键参数

  1. 磁盘读写性能

  2. 磁盘iops

  3. 网络带宽

CPU与内存性能一般需要进行业务压测。根据业务使用场景进行测量

工具名称 用途
dd 磁盘写入性能测试
hdparm 磁盘读性能测试
iperf3 网络性能测试
fio 磁盘IOPS性能测试

网络性能测试

安装iperf3if

  1. 安装gcc

    yum install -y gcc
  2. 下载iperf3 源码包

    wget https://iperf.fr/download/source/iperf-3.1.3-source.tar.gz
  3. 编译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测试

  1. 开启iperf3服务端

    iperf3 -s 
  2. 客户端访问测试

    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(下行带宽)

  3. 客户端使用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时,可能会有不准确的现象。

  1. 安装hdparm

    yum install -y hdparm
  2. 使用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性能测试

  1. 安装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
  2. 开始测试 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!