使用 fio 工具測試 EBS 效能
fio
fio 是一個專業的磁碟效能測試工具,本文將以 滴滴雲 SSD 雲盤為例,演示用 fio 測試 EBS 效能的方法。
磁碟效能指標
指標 | 說明 |
---|---|
IOPS | 每秒處理隨機讀寫的 IO 個數 |
頻寬 | 每秒處理順序讀寫的 IO 資料量 |
延遲 | 處理單個 IO 的平均耗時 |
讀寫型別說明
型別 | 說明 |
---|---|
順序讀/寫 | 每次 IO 的讀/寫位置緊跟上一個 IO 的讀/寫位置,即每次讀/寫的偏移量是順序遞增的 |
隨機讀/寫 | 每次 IO 的讀/寫位置在磁碟內是隨機的,與上一個 IO 的讀/寫位置無關 |
環境準備
建立滴滴雲 EBS
DC2 配置:
引數 | 型別 | 規格 | 說明 |
---|---|---|---|
作業系統 | centos 7 | – | – |
CPU | – | 4核 | – |
記憶體 | – | 8G | – |
系統盤 | 本地 SSD | 80G | vda |
資料盤 | SSD 雲盤(EBS) | 200G | vdb |
登入 DC2, 用 lsblk 命令檢視掛載好的塊裝置:
其中, vdb 就是接下來要測試的 EBS。
安裝 fio
# sudo yum install fio -y
檢視 fio 版本
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ fio - v
fio - 3.1
開始測試
注:如果 EBS 裡已有資料,為防止資料損壞,請用檔案的方式進行測試,即: 將 EBS mount 到目錄後,用 fio 讀寫 mount 目錄下的 test 檔案。
測試順序寫頻寬
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ sudo fio - direct = 1 - iodepth = 128 - ioengine = libaio - rw = write - bs = 1M - size = 10G - numjobs = 1 - runtime = 200 < mark >- filename =/ mnt / test </ mark > - name = perf
輸出:
其中 BW=121MiB/s 表示頻寬為 121MiB/s。
測試隨機寫 IOPS
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ sudo fio - direct = 1 - iodepth = 128 - ioengine = libaio - rw = randwrite - bs = 4K - size = 5G - numjobs = 1 - runtime = 200 - filename =/ mnt / test - name = perf
輸出:
測試結果為:IOPS=8206。
測試隨機寫延遲
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ sudo fio - direct = 1 - iodepth = 1 - ioengine = libaio - rw = randwrite - bs = 4K - size = 5G - numjobs = 1 - runtime = 200 - filename =/ mnt / test - name = perf
輸出:
測試結果為, 寫平均延遲 = 118 us。
測試順序讀頻寬
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ sudo fio - direct = 1 - iodepth = 128 - ioengine = libaio - rw = read - bs = 1M - size = 10G - numjobs = 1 - runtime = 200 < mark >- filename =/ mnt / test </ mark > - name = perf
測試隨機讀 IOPS
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ sudo fio - direct = 1 - iodepth = 128 - ioengine = libaio - rw = randread - bs = 4K - size = 10G - numjobs = 1 - runtime = 200 < mark >- filename =/ mnt / test </ mark > - name = perf
測試隨機讀延遲
[ dc2 - user @ 10 - 254 - 252 - 85 ~ ]$ sudo fio - direct = 1 - iodepth = 1 - ioengine = libaio - rw = randread - bs = 4K - size = 5G - numjobs = 1 - runtime = 200 - filename =/ mnt / test - name = perf
fio 引數說明
引數 | 說明 |
---|---|
direct | direct=1 表示測試的 IO 用直接 IO,即跳過檔案系統快取記憶體, 使測試結果更接近磁碟效能 |
iodepth | IO 佇列長度,典型值: 64 或 128, 值越大磁碟的 IO 負載越高,同時 IO 延遲也會增大,iodepth=1 用來測 IO 延遲 |
ioengine | 設定 IO 引擎, 決定 fio 呼叫哪種 IO 庫,通常用 libaio |
rw | IO 型別:read = 順序讀,write = 順序寫,randread = 隨機讀,randwrite = 隨機寫… |
bs | IO 塊大小,即每個 IO 讀寫的資料量,通常 bs=1M 用於測試順序讀寫頻寬,bs=4K 用於測試隨機讀寫的 IOPS |
size | IO 讀寫資料總量,如果 runtime 引數設定的時間到,則會停止 |
numjobs | 同時讀寫的子程式數 |
runtime | 讀寫時長,如果讀寫完 size 引數設定的資料量後還未到讀寫時長且沒有設定 time_based 選項,則停止 |
name | 本次測試任務的名字 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2221624/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- fio 命令 測試IO效能
- IO測試工具之fio
- 壓力測試工具之FIO
- 硬碟測試工具fio用法總結硬碟
- fio效能測試-環境搭建,功能介紹,測試講解
- linux 使用FIO測試磁碟iopsLinux
- YCSB效能測試工具使用
- 【Linux】fio測試磁碟Linux
- 【PG效能測試】pgbench效能測試工具簡單使用
- 效能測試工具
- JMeter效能測試工具使用入門JMeter
- 使用YCSB工具工具進行cassandra效能測試
- 網路效能測試工具iperf的使用
- 效能測試工具Locust使用指南(二)
- LoadRunner效能測試工具---(一)使用流程
- 效能測試工具Locust
- mysqlslap 效能測試工具MySql
- 效能測試工具supersmackMac
- 效能測試工具 - Siege
- 【效能測試】使用ab做Http效能測試HTTP
- 移動效能測試---工具PerfDog簡單使用
- 騰訊效能測試工具——PerfDog使用初體驗
- 效能測試工具Lmbench的使用和下載
- 使用Iperf工具進行網路效能測試
- 使用Oracle效能測試工具swingbench測試instance cagingOracle
- ABAP Webdynpro效能測試工具Web
- 壓縮工具效能測試
- MySQL 效能測試工具mysqlslapMySql
- 效能測試工具的原理
- SM951 linux centos fio 速度測試LinuxCentOS
- 效能測試工具你知道多少?
- java 效能測試框架工具-junitperfJava框架
- Nginx效能測試工具之webbenchNginxWeb
- 效能測試:主流壓測工具介紹
- netperf網路效能測試工具的使用詳解
- Web伺服器效能壓力測試工具使用教程Web伺服器
- 測試工具-XPath使用
- 使用猴子測試工具