ランダム入出力の定義
ランダム入出力環境の例としては、データベースや汎用ファイルサーバーなどがあります。ランダム入出力では、ディスクのシーク時間や回転応答時間によって入出力サービス時間が決定されます。
ランダム入出力を理解することの必要性
ランダム入出力環境のメリットを利用することで、パフォーマンスを向上させることができます。
ランダム入出力環境の構成戦略
入出力要求のサービス中は、すべてのディスクスピンドルをビジーにするのが理想です。ランダム入出力要求は小規模 (通常は 2 〜 8 K バイト) なので、ランダム入出力を複数のディスクドライブに分割するのは効率的ではありません。
データをすべてのディスクに単純に分散させるため、飛び越し値は重要ではありません。通常の入出力要求より大きな飛び越し値であれば問題ありません。
たとえば、4.2 G バイトの DBMS テーブル領域があるとします。4 つの 1 .05 G バイトのディスクスピンドルに渡ってストライプ化して、入出力負荷が完全にランダムでテーブル範囲全体に広がっている場合には、4 つのスピンドルは均等にビジーになります。
ランダム入出力パフォーマンスの目標最大値 (DiskSuite ツールのパフォーマンスモニターまたは iostat(1M) コマンドで調べることができます) は、35% です。65% を超えるディスク使用状況が続く場合には、問題となります。さらにその値が 90% を超える場合は、重大な問題です。
100% で動作しているディスクを 4 つのディスクにストライプ化した場合には、各ディスクが 25% (= 100/4) で動作するものと考えがちです。しかし実際には、 (1 つのディスクの 100% に対する) スループットを人為的に制限しているわけではないので、すべてディスクの使用状況は 35% を超えるでしょう。