硬件测试方法总结
稳定性测试
注:稳定性测试,发包机与服务器均为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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。