ハード・ディスク・テストの実行

いくつかの診断方法を確認し、それらを使用して、ハードウェア・インフラストラクチャーを良好な状態に保ちます。Linux では、hdparm コマンドと dd コマンド、または Bonnie++ アプリケーションを使用して、ハード・ディスクの書き込み速度を判別できます。iostat コマンドを使用して、平均的なディスク使用量を判別することもできます。

hdparm コマンドを使用した書き込み速度の判別

Linux オペレーティング・システムには、ハード・ディスクの書き込み速度を判別するために使用できる hdparm コマンドが組み込まれています。

手順

Linux コンソールで、hdparm -t path_to_the_test_file と入力します。
hdparm -t /dev/sda1
Timing buffered disk reads: 200 MB in 1.19 seconds = 167.47 MB/sec

DD アプリケーションを使用したディスク・テストの実行

このタスクについて

DD テストは、最も基本的な単一スレッドのディスク・アクセスを測定します。大容量の順次書き込みを行った後、大容量の順次読み取りを行います。このテストでは、大容量テーブルの順次スキャンの最大速度がわかるため、データベース・パフォーマンス・テストを実行した場合と同等の効果が得られます。
注: DD テストを正しく実行し、テスト結果をゆがめる可能性のあるファイル・システムのキャッシュを防止するために、テストするコンピューターの RAM サイズを確認してください。

手順

  1. テスト・コンピューターの RAM 容量の 2 倍のサイズのファイルを作成し、対象となるコンピューターのハード・ディスクにコピーします。

    BigFix Inventory が使用する DB2® テーブル・スペースのデフォルトのページ・サイズは 4 KB であるため、テストでは 4 KB のブロック・サイズを使用してください。例えば、16 GB の RAM がある場合は、以下のコマンドを実行して、現行ディレクトリーで ddfile という名前の 32 GB のファイルが作成されるようにします。

    time sh -c "dd if=/dev/zero of=ddfile bs=4k count=8000000 && sync"
    注: DD の一部の実装は書き込み速度を報告しますが、time コマンドでは常に DD 時間よりも長い実行時間が返されます。DD が報告する時間と速度は、ラグや同期時間を除いた速度を表します。実際の同期ファイル書き込み速度を取得するには、データ・サイズを time コマンドによって報告された時間で除算してください。
    例:
    8000000+0 records in
    8000000+0 records out
    32768000000 bytes (32 GB) copied, 38.924 s, 842 MB/s
    real 3m49.192s
    user 0m0.450s
    sys 0m38.282s
    この例では、キャッシュを含む書き込み速度は 842 MB/秒 ですが、同期時間を含めるとこれが大幅に遅くなり、わずか 136.46 MB/秒程度 (3 分 49 秒の間に 32 GB) となります。
  2. 後でディスクから直接データを読み取るためにファイル・システム・キャッシュをフラッシュアウトするには、次のコマンドを実行して、ディスクに別の大容量ファイルを書き込みます。 dd if=/dev/zero of=ddfile2 bs=4k count=4000000
  3. 最初の大容量ファイルを読み取ります。ファイル・システムのキャッシュは 2 番目のファイルでいっぱいになっているため、このテストでは有効な読み取り速度の結果が返されます。
    time dd if=ddfile of=/dev/null bs=4k
    8000000+0 records in
    8000000+0 records out
    32768000000 bytes (32 GB) copied, 186.456 seconds, 167.6 MB/s
    real 3m6.496s
    user 0m1.652s
    sys 0m10.753s
  4. これらの結果を、データベース・サーバー・コンピューターの推奨される平均ディスク書き込み/読み取り速度の表に記載された速度と比較して、ご使用のストレージがご使用の環境の DB2® データベースを処理できるかどうか判断してください。システムは、最大 10000 クライアントのデータベースを容易に処理できる能力を備えている必要があります。

ディスク使用量の判別

応答時間が低速の場合は、iostat コマンドを使用して平均的なディスク使用量を確認します。経時的なディスク使用量が 80% を超える場合は入出力のパフォーマンス低下を招くおそれがあります。平均的なディスク使用量が 40% を超えないようにすることが望まれます。

手順

Linux コンソールで、iostat -x interval duration と入力します。
各部の意味は以下のとおりです。
  • interval は時間間隔 (秒単位) です。間隔を指定しなかった場合、出力は、システムのリブート後の期間全体にわたる値を反映したものとなります。
  • duration はコマンドの実行回数です。
例:
iostat -x 30 5