アプリケーションのパフォーマンステストを成功させる3つのポイント:データベースというファクターを考慮しているか?
IT部門のリソースを大量に投入してパフォーマンステストを実施したものの、本番業務で予想外のトラブルが──などということのないよう、3つのポイントを伝授する。
データベースを利用するアプリケーションのパフォーマンスをテストするのは大変な作業だ。最悪のシナリオは、IT部門のリソースを大量に投入してパフォーマンステストを実施したものの、どういうわけか本番業務で予想外のトラブルが相変わらず発生するというものだ。
以下に示す3つのポイントは、アプリケーションパフォーマンステストで最大限の成果を得るのに役立つだろう。
1. ビジネス部門のステークホルダーの意見に基づき、明確なパフォーマンス指標と目標を設定する
理想を言えば、これはシステム要件テストとユーザー受け入れテストの一部であるべきだ。そうでなければ目標が明確に定まらず、パフォーマンステストは際限のない作業になってしまい、ユーザーにしても自分たちの要望が考慮されていなければ、システムのパフォーマンスに不満が残るかもしれない。
2. データベースというファクターを考慮に入れる
特にWebベースのトランザクションシステムの場合、最も一般的な指標は、同時ユーザーセッション数と応答時間である。同時セッション数の増加の影響を調べるために、アプリケーションの負荷テストが行われることも多い。しかし、システム全体が1人のユーザー専用であっても、データベースに格納されているデータ量に応じてパフォーマンスに大きな違いが感じられることもある。空白のテーブルにデータを挿入するだけのトランザクションであれば瞬時に完了するだろうが、テーブルのレコード数が何万あるいは何百万にも増えてくれば、パフォーマンスの低下が生じる。このため、予想されるデータのサイズに関する指標をパフォーマンス要件に含める必要があり、テスト環境にもそのサイズ設定を含めなければならない。
3. 過大なパフォーマンスを求めない
最初のアーキテクチャのサイズを決定し、ハードウェアを購入する際には、ある程度の拡張性を考慮しておく必要はあるが、構築前のシステムを最適化する余地は限られている。最も多く利用されるのはシステムのどの機能なのかに関して、実際のユーザーからフィードバックを受けることにより、めったに使用しない機能を最適化するといった時間の浪費を避けることができる。また、パフォーマンスの最適化は信頼性や保守性などの面でトレードオフを伴う場合が多いため、適切な判断を下すためには基準となるパフォーマンス指標が必要だ。パフォーマンスのわずかな改善のためにアーキテクチャデザインを犠牲にすることがあってはならない。
以上のポイントを心に留めておけば、パフォーマンステストで大きな成果を期待でき、ストレスは小さくなるだろう。では、テストの成功を祈る!
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.