多くの場所で、スループット= bs * iopsが真である必要があることを確認しました。たとえば、128kブロックサイズで190IOPSをサポートできるSASディスクに書き込むと、スループットは約23 MBps-23.75(MBs) = 128(BS)*190(SAS-15 IOPS)/1024
になります。
VMでモンスターのNetAppファイラーに対してテストしたところ、次のような結果が得られました。
_# dd if=/dev/zero of=/tmp/dd.out bs=4k count=2097152
8589934592 bytes (8.6 GB) copied, 61.5996 seconds, 139 MB/s
_
IO VMのレート)を表示するには、iostatとesxtopを使用しましたが、どちらも約250IOPSを示しました。
したがって、私の理解では、スループットは〜1000kであると想定されていました:1000(KBs) = 4(BS)*250(IOPS)
。
8GBのddはもちろんRAMの2倍のサイズなので、ここではページキャッシュはありません。
何が足りないのですか?
ありがとう!
あなたが欠けているのは文脈です。 IOPSは完全にランダムです。コピーはランダムではなくシーケンシャルです。ヘッドを動かすと、ハードディスクの速度が低下します。IOPSは基本的に、適切に測定されたIOは、ディスクプラッター全体(または少なくともその大部分)にランダムに分散していると想定しています。
はい、ディスクをコピーするときははるかに高速です。悲しいことに、通常の使用法が1人のユーザーのみによるコピーでない限り、これはまったく関係ありませんAT 1回。
これは、フォーミュラ1カーの最高速度を測定し、これがレース中の平均速度であると仮定するようなものです。フォーミュラ1トラックにはコーナーがあり、車の速度はほとんど遅くなります。
したがって、(専門用語で)完全に縮退したパターンを実行しない場合、つまり一度に1つのコピー操作しかない場合、IOはランダムになります(特に仮想マシン-1つはシーケンシャル、同じディスクを20回叩くのはランダムです)、ヘッドはほとんどの時間を移動に費やし、IO操作は行いません。
8GBのddはRAMの2倍のサイズです
それはまだ哀れですよね?ディスクの大きさはどれくらいですか? (gbはごく一部であるため、「ランダム」部分は実際のシナリオと比較して非常に少ない動き(長さで測定)です;)ゼロソースからコピーする場合、実際にはランダムな動きはありません。soiitは書き込みのみであり、移動することはありません。頭。悪い;)
上:
モンスターのNetAppファイラーに対して
これらの大きなSANアイテムがIOを最適化できる量はどれくらいですか?キャッシュはどれくらいありますか?「モンスター」ファイラーは、16ギガバイト以上のメモリを備えたトップモデルの1つです。それ自身のキャッシュ使用のために。それが本当に怪物であるならば、あなたのファイルは哀れです-ウィキペディアは192GBのメモリを持っている2010年のトップラインを読みます;)8GBをバッファリングするときさえ気づきません。また、重複排除(リアルタイムで発生しますか?)により、ほとんどすべての書き込み操作が不要になる場合があります。ディスクベースのIOPSも測定しましたか?
SQLIOというアプリがあります。実際にはSQLとは関係のない名前で、MicrosoftのSQLServerチームによって作成されたものです。ランダムなIO(でディスクをテストできます)読み取りまたは書き込み)、ディスクが処理できる負荷の量を確認します。 Microsoftのサイトからダウンロードできます。