使用 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效能測試-環境搭建,功能介紹,測試講解
- 【PG效能測試】pgbench效能測試工具簡單使用
- JMeter效能測試工具使用入門JMeter
- 網路效能測試工具iperf的使用
- 效能測試工具 - Siege
- 移動效能測試---工具PerfDog簡單使用
- 效能測試工具Lmbench的使用和下載
- ABAP Webdynpro效能測試工具Web
- 騰訊效能測試工具——PerfDog使用初體驗
- netperf網路效能測試工具的使用詳解
- java 效能測試框架工具-junitperfJava框架
- 負載,效能測試工具-Gatling負載
- 效能測試工具你知道多少?
- 效能測試:主流壓測工具介紹
- 深入淺出開源效能測試工具 Locust (使用篇 2)
- 網站效能壓力測試工具:Apache ab使用詳解網站Apache
- 自己上手寫效能測試工具(二)
- Webapi管理和效能測試工具WebBenchmarkWebAPI
- sitespeedio前端效能測試工具介紹前端
- 谷歌效能測評工具lighthouse使用谷歌
- 測試工具-XPath使用
- 伺服器io測試工具-fio --轉發 https://blog.51cto.com/u_12993908/5275922伺服器HTTP
- PR效能測試工具升級到全鏈路效能測試與分析平臺
- 移動端效能測試必備工具 PerfDog 效能狗
- 效能測試工具的 Coordinated Omission 問題
- CentOS 下效能測試工具 wrk 安裝CentOS
- 測試網路效能的小工具
- 【網路】效能指標與測試工具指標
- 效能測試監控工具--Jmeter + Grafana + InfluxDBJMeterGrafanaUX
- WUH721816AL硬碟fio測試不達標問題硬碟
- Jmeter效能測試簡單使用JMeter
- 使用Loadrunner進行效能測試
- 介面測試工具和使用
- 效能測試——壓測工具locust——指令碼初步編寫指令碼
- Linux iperf 網路傳輸效能測試工具Linux