码迷,mamicode.com
首页 > 其他好文 > 详细

IOPS 测试

时间:2018-01-01 16:54:10      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:iops   linux   azure   

 

使用附件脚本进行测试:

 

1.       下载安装fio

a. Centos 7.x:

yum install epel-release                                

yum install -y fio

a.       Centos 6.x:

yum install libibverbs.x86_64

wget http://mirror.ghettoforge.org/distributions/gf/el/6/plus/x86_64//fio-2.1.11-1.gf.el6.x86_64.rpm

rpm -iv fio-2.1.10-1.el6.rf.x86_64.rpm

2.       以管理员身份登录虚拟机, 切换成root.

3.       执行命令:  fio --name=/mnt/p20/randwrite --ioengine=libaio --iodepth=128 --rw=randwrite --bs=64k --direct=1 --size=25G --numjobs=1 --runtime=30 --group_reporting

4.       命令说明: --bs 读写的block大小, 不同block大小, 对磁盘的IOPS有一定的影响; -rw, 读写的类型,详细类型参考 man fio;  –size, 测试读写数据量, 根据实际的磁盘空间, 选用合适大小的读写数据量, 已保障磁盘有足够的读写时间.

5.       同时在另外个命令终端, 执行命令: iostat -x 1

6.       命令说明: iostat统计磁盘读写性能, 每秒统计一次. 对于iops的指标, 参考 r/s w/s.

 

 

以下查看测试命令,DS虚拟机操作示例请参考:

[root@DS13IOTEST ~]# uname -a

Linux DS13IOTEST 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

 

[root@DS13IOTEST ~]# fio --version

fio-2.1.10

 

[root@DS13IOTEST ~]# modinfo hv_vmbus

filename:       /lib/modules/2.6.32-431.29.2.el6.x86_64/weak-updates/microsoft-hyper-v/hv_vmbus.ko

version:        4.1.2

license:        GPL

srcversion:     82B9AE7A2B6BFE26B1AC6A4

alias:          acpi*:VMBus:*

alias:          acpi*:VMBUS:*

depends:

vermagic:       2.6.32-431.el6.x86_64 SMP mod_unload modversions

 

[root@DS13IOTEST ~]# mount -O barrier=0 /dev/sdc1 /datadrive512G

[root@DS13IOTEST ~]# df -T

 

[root@DS13IOTEST ~]# ./fio.sh /datadrive512G >p20_fio_report 

 

对临时盘进行测试:

[root@DS13IOTEST ~]# ./fio.sh /mnt/resource > temdisk_fio_report

[root@DS13IOTEST ~]# cat temdisk_fio_report | grep iops

 

 

 

 

不使用脚本,命令直接测试:

 

测试环境:

 

·        Centos 6.5虚拟机【未更新LIS 

·        对该虚拟机添加一块10GB数据磁盘,无读写缓存

 

测试结果:

 

1.  测试命令:[root@iopstest01 ~]# fio -directory=/mnt/test01 -name=tempfile.dat -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=16 -time_based -runtime=100 -group_reporting

 技术分享图片  

 

测试结果基本符合官方文档中,对于不同大小数据磁盘IOPS的指标数据

 

 

2.   fio命令中,如果使用-filename参数,应该使用设备名,因为-filename参数是要指定某个要测试的裸设备

 

当我们使用[root@iopstest01 ~]# fio -filename=/dev/sdc1 -direct=1 -iodepth=1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=5G -numjobs=10 -runtime=120 -group_reporting -name=tempfile.dat

 

测试结果的IOPS值,和使用-directory参数基本保持一致

 

 

3.   备注:为了您的数据安全。根据我们之前处理工单的经验,对于已有文件系统的分区,建议您使用fio命令的时候,使用参数-directory而不是-filename,因为-filename会破坏系统分区,导致被测试磁盘上面的文件系统损坏,这样即使将该磁盘挂载到其它VM上,也无法通过fsck进行修复。

 

这个情况并不是仅仅在Azure上面存在,在任何环境下都会发生【我们对本地hyper-vvmvare虚拟环境,对相应虚拟机执行此操作都会遇到文件系统损坏的情况】,请您周知。

 

关于上面提到的第2点和第3点,在网上也找到了类似的文章,供您参考:【http://blog.csdn.net/commsea/article/details/11797011

 


IOPS 测试

标签:iops   linux   azure   

原文地址:http://blog.51cto.com/286722/2056384

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!