請問有使用過fio的板友,不管我用Rand還是用Seq的測試結果,都會有個Bw跟IOPS,請問這兩個的分別是什麼?? 之前看有人說4K速度就是IOPS,那為什麼我測每一個選項都有這兩個速度??如下:
1M Rand read:
Jobs: 1 (f=1): [r(1)][100.0%][r=288MiB/s,w=0KiB/s][r=288,w=0 IOPS][eta 00m:00s]
mmc0: (groupid=0, jobs=1): err= 0: pid=5926: Tue Mar 21 09:08:51 2017
read: IOPS=295, BW=296MiB/s (311MB/s)(17.4GiB/60105msec)
4K Rand read:
Starting 1 thread
Jobs: 1 (f=1): [r(1)][100.0%][r=24.5MiB/s,w=0KiB/s][r=6260,w=0 IOPS][eta 00m:00s]
mmc0: (groupid=0, jobs=1): err= 0: pid=6275: Tue Mar 21 09:23:03 2017
read: IOPS=6107, BW=23.9MiB/s (25.2MB/s)(1432MiB/60006msec)
512K Seq write
Jobs: 1 (f=1): [W(1)][100.0%][r=0KiB/s,w=77.6MiB/s][r=0,w=155 IOPS][eta 00m:00s]
mmc0: (groupid=0, jobs=1): err= 0: pid=30732: Mon Apr 17 22:09:15 2017
write: IOPS=153, BW=77.2MiB/s (80.1MB/s)(4646MiB/60198msec)
1M Rand read:
Jobs: 1 (f=1): [r(1)][100.0%][r=288MiB/s,w=0KiB/s][r=288,w=0 IOPS][eta 00m:00s]
mmc0: (groupid=0, jobs=1): err= 0: pid=5926: Tue Mar 21 09:08:51 2017
read: IOPS=295, BW=296MiB/s (311MB/s)(17.4GiB/60105msec)
這部分是測1MB block 隨機讀取(rand read), BW 就是頻寬, 每秒311MB, 每秒IO次數(IOPS)為295
大block讀取大多是在測Throughput
4K Rand read:
Starting 1 thread
Jobs: 1 (f=1): [r(1)][100.0%][r=24.5MiB/s,w=0KiB/s][r=6260,w=0 IOPS][eta 00m:00s]
mmc0: (groupid=0, jobs=1): err= 0: pid=6275: Tue Mar 21 09:23:03 2017
read: IOPS=6107, BW=23.9MiB/s (25.2MB/s)(1432MiB/60006msec)
這部分是測4K block 隨機讀取, 每秒25MB, IOPS 6107..
8K, 4K, 2K 這種小block 隨機讀取大多是在測IOPS
由mmc0來看, 您測的對象是張記憶卡
您想測哪個方面呢?
假如是想提升數位相機拍照後, 讀取到電腦的速度的話 (我沒玩過數位相機, 只是由上面測試結果判斷)
把該記憶卡block size調大即可 (單緒, Throughput 出的來)
============================================================
另外fio可以吃"劇本"
餵進去你想測的範圍, 例如block size 1K, 2K, 4K, 8K, 16K, 256K, 1MB
job數 1 2 4 8 16 256...
檔案大小, io depth, io engine...全都可以靠劇本來控制
輸出的格式可以細微到分布情況, 由此可以協助IO性能優化.
https://github.com/jtulak/fio-parser
網路上有些fio parser可以協助, 畢竟多job時生出來的fio report又臭又長..不是人看的..XD
內文搜尋

X