硬件测试方法总结

来源 互联网 | 发布时间 2017/09/21 15:59:34

硬件测试方法总结


稳定性测试

注:稳定性测试,发包机与服务器均为win7旗舰版64bits系统

  • CPU、内存、硬盘稳定性测试:

    测试工具:Burn in Test
    Disk、Memory、CPU开到100%,关闭其他测试选项。

BurnInTest下载地址:[下载地址](http://www.passmark.com/download/bit_download.htm)

一般来说分两种时间方案:
1. 2*48小时
2. 1*120小时

#

  • 网卡稳定性测试:

    测试工具:Iperf
    利用一台发包机与服务器直连,两端设备都开启Iperf。

    • 发包机端:
      iperf -c server_ip -p server_port -i 1 -t 1000
      参数说明如下:
      -c:客户端模式 后接所测服务器IP
      -p:后接服务器监听端口号
      -i:设置带宽报告的时间间隔,单位为秒
      -t:设置测试发包的时长,单位为秒
      测试截图如下:

      客户端测试截图

    • 服务器端:
      iperf –s –p 12345 –i 1 –M
      具体参数说明请见iperf -help
      测试截图如下:

      服务器端测试截图

网卡专项测试

注:网卡专项测试与磁盘专项测试中,发包机与服务器均为CentOS6.6系统,kernel版本为2.6.32

  • 场景一:20~50G真实业务数据包
    测试工具:
    发包机端:tcpreplay
    服务器端:SpeedTest(自研软件,用于dpdk抓包数量统计,可用其他工具替代)

    发包机端执行命令:
    tcpreplay --topspeed --intf1=eth1 test47G.pcap
    服务器端执行命令:
    ./SpeedTest –c 0x03 –n 4

    *此处服务器端执行命令根据自研软件进行的,各工具不同

  • 场景二:60字节数据包模式
    测试工具:
    发包机端:PF_RING
    服务器端:SpeedTest

    发包机端执行命令:
    ./pfsend -f test60.pcap -i eth1 -n 0 -r 10
    值得一说的是pfsend这个东西。从github下载PF_RING源码后,安装过程如下(仅限pfsend安装)

    [root@]# git clone https://github.com/ntp/PF_RING
    [root@]# cd PF_RING/userland
    [root@]#cd lib
    [root@]#./configure
    [root@]#make&make install
    [root@]#cd /PF_RING/userland/libpcap
    [root@]#./configure
    [root@]#make&make install
    [root@]#cd /PF_RING/userland/examples
    [root@]#make

    运行上述代码后,进入/PF_RING/userland/examples就可以使用pfsend工具了。
    服务器端由于使用自研软件,在此就不说了。

  • 场景三:1500字节数据包模式
    测试工具,使用与场景二相同,在此不予赘述。

硬盘专项测试

  • 顺序读写测试
    测试工具:linux下dd命令

    • 顺序读
      服务器执行命令:
      time dd if=/tmp/test of=/dev/null bs=1M count=20000
      从硬盘读取20G内容,块的大小为1M.
    • 顺序写
      服务器执行命令:
      time dd if=/dev/zero of=/tmp/test bs=1M count=20000
      向硬盘文件写20G内容,块的大小为1M.
    • 顺序读写
      服务器执行命令:
      time dd if=/tmp/test of=/var/test bs=1M count=20000
      从硬盘读取并写入20G内容,块的大小为1M.
  • 随机读写测试
    测试工具:fio

    • 随机读
      在1000s时间内,以10个线程读取20G内容,块大小为 1M ,读取sdb1硬盘20G容量.
      服务器执行命令:
      fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=1M -size=20G -numjobs=10 -runtime=1000 -group_reporting -name=mytest

    • 随机写
      在1000s时间内,以10个线程写入20G内容,块大小为 1M ,向sdb1硬盘写入20G内容.
      服务器执行命令:
      fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=1M -size=20G -numjobs=10 -runtime=1000 -group_reporting -name=mytest

    • 随机读写
      在1000s时间内,以10个线程读取并写入20G内容,块大小为 1M.
      服务器执行命令:
      fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=50 -ioengine=psync -bs=1M -size=20G -numjobs=10 -runtime=1000 -group_reporting -name=mytest -ioscheduler=noop



作者:glennut
链接:http://www.jianshu.com/p/e5a2daa75071
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。