したがって、HDDのIOPSを計算する標準化された方法がないことはわかっていますが、私が読んだすべてのことから、最も正確な式の1つは次のように見えます。
IOP/ms = + {回転待ち時間} +({ブロックサイズ}/{データ転送速度})
これはミリ秒あたりのIO、または私が読んでいる本が「ディスクサービス時間」と呼んでいるものです。また、回転待ち時間は、ミリ秒単位の1回転の半分として計算されます。
これはEMCの本「InformationStorageandManagement」から引用したものです-おそらくかなり信頼できる情報源ですよね?
この式を実行に移すには、これを考慮してください Seagateデータシート 。
4kbのブロックサイズのST3000DM001モデルのIOPSを計算します。
したがって、私の変数は次のとおりです。
9.5ms + 4ms + 39 = IO/ms 52.5
1 /(52.5 * 0.001)= 19 IOPS
このドライブの19IOPSは明らかに正しくないので、何が間違っているのでしょうか。
あなたの基本的な公式は合理的ですがthis:
データレート= 156MB/s =(0.156MB/ms/0.004MB)= 39
正しくはありません。ブロックを読み取るために必要な時間を決定する必要があります。
4 KB / 156 MB/s = 2.5 * 10^-5s ( ~ 0.025 ms)
これは無視できる値であるため、経験則の近似では省略でき、計算は1 / 0.0135
のようになり、約74IOPSになります。
なぜデータレートを含めるのですか?
1 /(0.004 + 0.0095)〜74IOPS。