IOPS

(質問あり、回答なしのエッセイ)



新しいレイドとそれに付属する72台のドライブのパフォーマンスをテストすることにしたとき、私はIOPSに関するすべてを知っているように思えました。 今、私は何も理解していないことを理解しています。



したがって、IOPS = i / o(オペレーション)/秒。 1秒あたりのI / O操作の数。



IOPSの測定は非常に簡単です。ほとんどすべてのパフォーマンスモニターを実行するだけです。 Windowsのperfmon、Linuxの上。 特定のディスクが1秒間に「書き込み」/「読み取り」の要求に何回か応答したため、IOPS'ovが非常に多くなりました。



しかし、彼らが「Iops」と言うとき、彼らは通常、現在の指標を意味するのではなく、[ディスク|レイド|連隊]が与えることができる最大値を意味します。



そして、ここで最大の驚きを待っています。



私は根拠がないでしょう、ここに測定結果があります。

書き込みiops = 13200、書き込み速度= 550Mb / s
書き込みiops = 324、書き込み速度= 1.2Mb / s




これは同じドライブです。 同じ量のデータ。 何が変わっているのでしょうか?ほぼ2つの注文のこの驚くべき違いはどこから来ているのでしょうか?



この違いは、クエリが実行される順序にあります。 1つ目はリニア録音です。 2番目は4kのブロック単位で任意です。 同じ量のデータを厳密に記録しましたが、順序は異なります。



...そして、この結果が1つのハードドライブの問題であれば、より論理的に見えます。 しかし、22台のディスクでRAID60です!



RAIDプロパティの1つのパラメーター(スライスサイズ)を変更し、任意のエントリに対してまったく異なる数値を取得します。

書き込みiops = 4020書き込み速度= 16Mb / s




もちろん、これらはすべて線形操作の超音速ではありませんが、320と4000 iPSの違いは無視できないほど大きいです。



...テストの条件(ブロックサイズ)をわずかに変更すると、レイドの1つのバージョンが落ち、2番目のバージョンが爆発します...



IOPSとは何ですか? そして、少なくともおよそ、ディスクサブシステムのパフォーマンスをどのように評価できますか?



「タスクの下で考慮する必要がある」と言うことができます。 どんなタスク? (最もよく知っている)SQLサーバーが次のコミット後に書き込むことを決定したデータブロックのサイズを予測できますか? または、管理している別のプログラム:書き込み/読み取りを行うブロックを教えてください。



そして、この情報を知らずに、基本的にRAIDのパフォーマンスを決定するパラメーターに直面しています:myrrhのディスク数と冗長アレイのディスク数、ストリップサイズ...



「コンピューターデバイス」のすべての分野の中で、「リクエスト」のパフォーマンスはあまり知られていないように感じます。 または、経験があれば、慎重に隠しました...



All Articles