官方網站
http://freecode.com/projects/fio
http://git.kernel.dk/?p=fio.git;a=summary
Computer Type | ACPI x64-based PC |
amd64 Operating System | ubuntu 14.04 (kernel 3.13.0-35-generic #62) |
Microsoft Windows 7 Professional Service Pack 1 | |
Motherboard | ASRock Z68 Extreme4 Gen3 (3 PCI-E x16,4 DDR3 DIMM) |
CPU Type | QuadCore Intel Core i7-3770K翻譯社 3700 MHz (37 x 100) |
Northbridge | Intel Cougar Point Z68翻譯社 Intel Ivy Bridge rev.09 |
Southbridge | Intel Z68 rev. B3 |
System Memory | 3989 MB (Kingston DDR3-1333 DDR3 SDRAM) |
BIOS Type | AMI (06/29/2012) |
Storage Controller | Uptech SC340 |
Storage Driver | Standard AHCI 1.0 Serial ATA Controller (AHCI inbox driver) |
Storage IOP | Marvell 88SE9230 |
SATA3 Devices | SSD-OCZ-VERTEX3, and HDD-ST4000NM0033 |
Test Tool | fio 2.1.3-Linux翻譯社 and fio 2.1.8-Windows |
◆ For Linux ubuntu 14.04
--bs=128k 測試的I/O blocksize(或稱I/O size)翻譯社 在這裡我以128k為類型。 (default值為4k)
此次是以Uptech SC340(順發3C就有在賣了)為測試樣本,這張SATA-III 4-Port hardware RAID HBA,它是PCI-e Gen:2 2x的interface,support HyperDuo(capacity/safe),RAID0,1和RAID10,IOP採用的是Marvell 88SE9230,並使用ASRock Z68 Extreme4 Gen3來當作測試的platform,以下是本次測試的configuration翻譯
--direct=1 直接對physics drive做direct access, default值為1 (也就是利用non-buffered IO, 對HBA而言翻譯社就是NO C.C.)翻譯
--size=200g 測試的檔案巨細為200g翻譯社 每次以Seq.Read.128k的I/O(blocksize)來進行測試, 若不設定章會根據磁碟掛載點的capacity, 一向將磁碟的capacity讀/寫完為止翻譯
--iodepth=1 IO個數的設定, default值為1。
--rw=read 測試的I/O type翻譯社 在這裡只列出我本身常用的四種模式,別離是:read翻譯社 write, randread, randwrite。
--fadvise_hint=0 設定fio kernel所要create的IO類型。 (我小我建議這個值設為0也就是disable, 最好是使用ioengine來做驗證, 如許會比較客觀翻譯)
--norandommap fio在做random IO的時後翻譯社 會隨機create一個新的offset翻譯
--bwavgtime=5000 設定測試時間的平均值, 以millisecond(ms)為單位。
1. 測試前的注意事項
Host/Master端 (主機端-Motherboard)
◆ 請不要install其他不必要的軟體或常駐程式。(盡可能確保resource的最大值)
◆ 淨空PCI-e的slot,只留下待測試的HBA。(也就是說VGA請盡可能用on-board的,以避免外在身分的干擾)
◆ PCI-e的bandwidth也要注意一下,今朝市售的motherboard都有support到Gen:3 16x足以應付市道上的HBA翻譯
◆ Memory至少要在4G以上。
進修網站
http://linux.die.net/man/1/fio
http://blog.csdn.net/dbadream/article/details/30484631
儲存裝配(storage) fio performance verify的測試典範
這篇文章主要目標是在提示,當使用fio在做performance verify的時刻,一些事前的準備工作,和其他要注意的設定事項翻譯
在這裡天成翻譯公司小我只會看bw (MBps)翻譯社 iops和cpu sys值, 來評議HBA或SATA devices的performance, 在這裡天成翻譯公司只列舉出一些簡單的測試成績, 其他的驗證就有勞列位讀者們去試試看翻譯
--time_based 假如置入此參數, 也要履行runtime所設定的時候, 即使所有的size/capacity都已完全被讀/寫完。
2. 安裝fio
◆ For Linux ubuntu 14.04
Step.1 : 使用ubuntu root權限登入翻譯
Step.2 : 用apt-get指令來安裝fio套件。 (記得網路要通!!)
Step.3 : 用which指令來確認fio的套件已被安裝,並同時確認fio的版本。
◆ For Windows 7
Step.1 : 請遵照以下步調履行安裝。
Step.2 : 進入程式集,請確認fio安裝完成與版本切實其實認翻譯
3. 履行測試典範
◆ For Linux ubuntu 14.04
fio --ioengine=libaio --prio=0 --numjobs=32 --direct=1 --iodepth=1 --fadvise_hint=0 --runtime=30 --bwavgtime=5000 --time_based --norandommap --rw=read --bs=128k --group_reporting --name=/dev/sdb
◆ For Windows 7
Step.1 : 請依照以下步調執行RAW image create。
Step.2 : 開啟敕令提醒字元(cmd),在DOS命令行下輸入mountvol指令,並查詢RAW file system的載入點。
Step.3 : 請在C:\ create一個text file (在這裡我以檔名fio_test做為類型),鍵入以下的指令並儲存它,請記得要鍵入RAW file system的載入點。
Step.4 : 請在C:\ 履行fio c:\fio_text (這個測試手法在Linux情況下,也同樣合用)。
底下是我對照經常使用的指令翻譯社 更deatil的command option, 也煩請列位讀者們可以到我供給的進修網站去study一下。
--ioengine=libaio
Host端所要利用的I/O engine翻譯社 Linux底下是設為libaio, 在Windows底下是設為windowsaio。
--verify=md5 如果是當作I/O stress的burn-in測試,到場這個option可以用來驗證是不是有data compare error翻譯(附記: MD5;Message-Digest Algorithm 5,(訊息摘要演算法第五版),是當前電腦領域用於確保資訊傳輸完整一致而普遍使用的雜湊演算法之一,又譯為雜湊演算法、摘要演算法等,主流程式說話遍及已有MD5的實作。) Reference: http://zh.wikipedia.org/zh-tw/MD5
◆ For Windows 7
FIO主要是用來驗證storage的IOPS和MBps, 它算是在Linux情況底下常用的tool之一, 它也能夠用來做壓力測試的驗證 (I/O Stress verify), 今朝它有Support 13種不同的I/O engine翻譯社 個中包孕sync, mmap, libaio翻譯社 posixaio, SG v3翻譯社 splice, null, network翻譯社 syslet, guasi和solarisaio, 有樂趣的讀者們可以用google search到進修網站去認識一下,在這裡天成翻譯公司會以ubuntu 14.04和Windows 7 Professional SP1兩個OS平台做為測試樣本。
fio (flexible I/O tester)
--numjobs=32 同時候要測試的IO數, default值為1。(相當於Iometer的Outstanding IO)
--name=/dev/sdb 測試真個磁碟掛載點。
--runtime=30 測試的時間翻譯社 以second(sec)為單元翻譯社 若不設定則會依據磁碟掛載點的size或是capacity的值, 一向將size或是capacity的檔案讀/寫完為止。
--prio=0 設定job的優先品級(在Linux一共有0~7個level)翻譯社 0是最高。
Target/Slave端 (裝備端-HDD/SSD/RAID devices)
◆ 在驗證之前,先confirm原廠的HDD/SSD production data sheet的performance翻譯
◆ SATA device也不要接入Enclosure內。(因為direct attach比力不會有外在因素影響)
◆ 不要對PD或RAID做任何format的動作。(因為file system照舊有cache的存在)
◆ 若是測試的Target是with SSD的話,先注意下列動作:
A. 先將SSD做wipe-out。(erase SSD的block和其他garbage)
B. 測試的procedure依序為 Seq.Read → Rdm.Read → Seq.Write → Rdm.Write翻譯(如許受到SSD的limition也會對照小)
◆ 關於RAID的initial:
A. 針對Non-XOR RAID的話,請不要對RAID做任何initial的動作,因為initial照樣會對RAID做Write的動作。
B. 如果是針對XOR RAID的話,就必需要做initial,以免I/O在access的時辰又要計較Parity。
以group為單位, 顯示測試的成績。
◆ 簡單的測試成果範例。
4. 測試成效
下載
For Linux RPM http://pkgs.repoforge.org/fio/
http://pkgs.fedoraproject.org/repo/pkgs/fio/
For Windows http://www.bluestop.org/fio/
以下內文出自: http://blog.sina.com.tw/william_liao/article.php?entryid=658195有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931