IOPS 測試

 

使用附件腳本進行測試:ios

 

1.       下載安裝fio 緩存

a. Centos 7.x: 安全

yum install epel-release                                ide

yum install -y fio性能

a.       Centos 6.x:測試

yum install libibverbs.x86_64spa

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

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

2.       以管理員身份登陸虛擬機, 切換成root.blog

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

 blob.png  

 

測試結果基本符合官方文檔中,對於不一樣大小數據磁盤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

相關文章
相關標籤/搜索