ベンチマーク・テスト

ベンチマーク・テストは、 アプリケーション開発ライフ・サイクルの通常の部分のうちの 1 つです。 これはアプリケーション開発者とデータベース管理者 (DBA) の両方が関係するチームの作業です。

ベンチマーク・テストは、現行のパフォーマンスを調べるためにシステムに対して行うもので、それを使用してアプリケーションのパフォーマンスを向上させることができます。 アプリケーション・コードが可能な限り効率的に作成されている場合、 データベースおよびデータベース・マネージャーの構成パラメーターをチューニングすることにより、 さらにパフォーマンスの改善を実現できる場合があります。

特定の種類の情報を得るために、さまざまなタイプのベンチマーク・テストが使用されます。 以下に例を示します。
  • インフラストラクチャー・ベンチマーク は、 特定の限定された実験条件下でのデータベース・マネージャーのスループット能力を調べるものです。
  • アプリケーション・ベンチマーク は、実稼働環境をさらに反映した条件下でのデータベース・マネージャーのスループット能力を調べるものです。
構成パラメーターをチューニングするためのベンチマーク・テストは、制御された条件に基づいています。 そのようなテストには、アプリケーションが可能な限り効率的に実行されるまで、システム構成 (およびおそらく SQL) を変えながら、繰り返しアプリケーションから SQL を実行することが関係します。

同じアプローチを、索引、表スペース構成、ハードウェア構成など、パフォーマンスに影響を与える他の要因をチューニングするためにも使用できます。

ベンチマーク・テストは、データベース・マネージャーがさまざまな条件下でどのように応答するかを理解する上で役立ちます。 デッドロック処理、ユーティリティー・パフォーマンス、データをロードするさまざまな方式、 ユーザーがさらに追加される場合のトランザクション率の特性、 さらにはデータベース製品の新規リリースを使用したときのアプリケーションへの影響をそれぞれテストするようなシナリオを作成できます。

ベンチマーク・テストは、 反復可能環境に基づいています。これにより、 適切に比較できる結果を、同じ条件で実行した同じテストから得ることができます。 さらに、通常の環境でテスト・アプリケーションを実行することによって開始することもできます。 パフォーマンス上の問題を追及していく際に、 テストしている機能の有効範囲を制限する特殊化したテスト・ケースを作成することができます。 つまり、特殊化テスト・ケースで、 価値のある情報を得るためにアプリケーション全体をエミュレートする必要はありません。 単純な測定から開始し、必要のある場合のみ複雑化させてください。

良いベンチマークには、次のような特性があります。
  • テストは反復可能である
  • テストを繰り返す場合、毎回同じシステム状態で開始する
  • システム内で他の機能やアプリケーションが意図せずにアクティブになることがない
  • ベンチマーク・テストに使用されるハードウェアおよびソフトウェアが実稼働環境と一致している

開始されたアプリケーションは、アイドル状態であっても、メモリーを使用する点に注意してください。 そのために、ページングによってベンチマークの結果がゆがめられる可能性が大きくなり、再現性基準に違反します。