nmon
#这里下载的centos系统的nmon包
tar -zxvf centos7.tar.gz
mv nmon_x86_64_centos7 /usr/local/bin/nmon
nmon_analyser
- 在物理机上解压文件
- 使用Excel打开nmon analyser v60.xlsm
- 选择左下放的Analyser
- 点击跳转的页面中的Analyze nmon data
- 选择*.nmon文件(使用nmon生成)
- 保存并打开生成的xlsx文件
如果提示不能使用,未安装VBA。需要去下载安装。(搜索vba6.3 盘多多)
测试
- 挂载使用sdb盘
[root@db_node ~]# df -hT | grep sdb
/dev/sdb ext4 20G 2.4G 17G 13% /sdb
- 收集数据
#-s5 每隔5s收集一次。
#-c20 收集20次。
#-f 按标准格式输出文件:_YYYYMMDD_HHMM.nmon
#-m /root/ 指定保存文件路径
nmon -s1 -c60 -f -m /root/
fio
队列深度(iodepth):SCSI以32为准,SATA以256为标准。
方式(ioengine):异步(libaio)
块大小(bs):按照读写数据大小而定
#查看队列
lsscsi -l
hdparm -I /dev/sd* #SCSI格式磁盘只能通过lsscsi查看。
read:顺序读测试,使用方式-rw=read
write:顺序写测试,使用方式-rw=write
randread:随机读测试,使用方式-rw=randread
randwrite:随机写测试,使用方式-rw=randwrite
readwrite/rw:顺序读写
randrw:随机读写,-rw=randrw;默认比率为5:5,通过参数-rwmixread设定读的比率,如-rw=randrw -rwmixread=70,说明读写比率为70:30。或rwmixwrite
- 100%随机,100%读, 4K
fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=randread -ioengine=libaio -bs=4k -size=1G -runtime=180 -group_reporting -name=rand_100read_4k
- 100%随机,100%写, 4K
fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=libaio -bs=4k -size=1G -runtime=180 -group_reporting -name=rand_100write_4k
- 100%顺序,100%读 ,4K
fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=read -ioengine=libaio -bs=4k -size=1G -runtime=180 -group_reporting -name=sqe_100read_4k
- 100%顺序,100%写 ,4K
fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=write -ioengine=libaio -bs=4k -size=1G -runtime=180 -group_reporting -name=sqe_100write_4k
- 100%随机,70%读,30%写 4K
fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=libaio -bs=4k -size=1G -runtime=180 -group_reporting -name=randrw_70read_4k
- 100%顺序,70%读,30%写 4K
fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=readwrite -rwmixread=70 -ioengine=libaio -bs=4k -size=1G -runtime=180 -group_reporting -name=randrw_70read_4k
dd
- 单读
#测试sdb的读取速度
[root@db_node ~]# time dd if=/dev/sdb of=/dev/null bs=8k count=300000
记录了300000+0 的读入
记录了300000+0 的写出
2457600000字节(2.5 GB)已复制,24.0586 秒,102 MB/秒
- 单写
#测试sdb的写入速度
[root@db_node ~]# time dd if=/dev/zero of=/sdb/test.disk bs=8k count=300000 conv=fsync
#conv=fsync加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,避免操作系统“写缓存”干扰。
- 读写
[root@db_node ~]# time dd if=/dev/sdb of=/sdb/test.disk bs=8k count=300000
记录了300000+0 的读入
记录了300000+0 的写出
2457600000字节(2.5 GB)已复制,66.7372 秒,36.8 MB/秒
real 1m7.458s
user 0m0.199s
sys 0m11.566s