ハード・ディスク・テストの実行
いくつかの診断方法を確認し、それらを使用して、ハードウェア・インフラストラクチャーを良好な状態に保ちます。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 サイズを確認してください。
手順
- テスト・コンピューターの 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 コマンドによって報告された時間で除算してください。例:
この例では、キャッシュを含む書き込み速度は 842 MB/秒 ですが、同期時間を含めるとこれが大幅に遅くなり、わずか 136.46 MB/秒程度 (3 分 49 秒の間に 32 GB) となります。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
- 後でディスクから直接データを読み取るためにファイル・システム・キャッシュをフラッシュアウトするには、次のコマンドを実行して、ディスクに別の大容量ファイルを書き込みます。 dd if=/dev/zero of=ddfile2 bs=4k count=4000000
- 最初の大容量ファイルを読み取ります。ファイル・システムのキャッシュは 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
- これらの結果を、データベース・サーバー・コンピューターの推奨される平均ディスク書き込み/読み取り速度の表に記載された速度と比較して、ご使用のストレージがご使用の環境の DB2® データベースを処理できるかどうか判断してください。システムは、最大 10000 クライアントのデータベースを容易に処理できる能力を備えている必要があります。
ディスク使用量の判別
応答時間が低速の場合は、iostat コマンドを使用して平均的なディスク使用量を確認します。経時的なディスク使用量が 80% を超える場合は入出力のパフォーマンス低下を招くおそれがあります。平均的なディスク使用量が 40% を超えないようにすることが望まれます。
手順
Linux コンソールで、iostat -x interval duration と入力します。
各部の意味は以下のとおりです。
- interval は時間間隔 (秒単位) です。間隔を指定しなかった場合、出力は、システムのリブート後の期間全体にわたる値を反映したものとなります。
- duration はコマンドの実行回数です。
例:
iostat -x 30 5