第4回 テストを設計するには(その2)理論的・計画的なWebアプリケーションのテストの実現(2/2 ページ)

» 2005年02月24日 18時00分 公開
[加藤大受,ITmedia]
前のページへ 1|2       

ネットワーク負荷検証

 ネットワーク負荷検証はネットワークトラフィックを増大させた場合におけるシステムの振る舞いを測定するものである。クライアント・サーバ間のネットワーク負荷だけでなく、インターネット環境で利用されるWebアプリケーションの場合では、DNS、ファイアウォール、負荷分散装置などに対してネットワークトラフィックが増大した場合を考慮することも必要だろう。ネットワーク負荷検証では利用するシステム機器の全体の信頼性を考え、サーバだけでなく広い視野で考える必要がある。構築するシステムが認証サーバやメールサーバを利用している場合はそれらの環境がボトルネックになるかどうかについても検証する必要があるだろう。

 実際にネットワーク負荷をかけるには、別のクライアントから大量のファイルをコピーしたり、ネットワーク負荷発生ツールを利用したりすることで行うことができる。

高アクセス負荷検証

 高アクセス負荷検証はWebアプリケーションの同時アクセス負荷をかけた状態のシステムの振る舞いを測定するものである。Webアプリケーションを構築する場合、システム要件の検討のタイミングでどの程度の同時アクセスを処理できるかどうかを決定するが、このシステム要件を満たしているか、要件以上の同時アクセスが発生した場合の状況を測定するのである。また、WebアプリケーションのMaxClient値やKeep-AliveのOn/Offなどの設定を考える上でもこの検証は重要となっている。

 また、高アクセス負荷検証を行う場合はログイン処理などのCPU負荷が高くなりやすい機能への集中、各機能にまんべんなくアクセスされた状態での高負荷など、Webアプリケーションが提供する機能ごとやコンビネーションを考えて設定する必要がある。

 実際に高アクセス負荷検証を実現するにはオープンソースで提供されているApache JMeterなどの負荷検証ツールや、高負荷試験専用機であるWebAvalancheなどを利用するといいだろう。非常に負荷の高いシステムの場合は同時アクセス負荷を完全にシミュレートできるランデブー機能を提供するマーキュリー・インタラクティブのLoadRunnerを検討してみるといいだろう。前回の性能検証で説明したように、高アクセス負荷検証についてもRDBMS、ミドルウェア、コンテナ、アプリケーションなど各レイヤーごとに行い、信頼性の検証を行うのがよいだろう。

大容量負荷検証

 大容量負荷検証は大容量のファイルのダウンロードやアップロード機能やWebメール機能を持つWebアプリケーションの場合はサイズの大きいファイルを利用した検証を行う必要がある。こちらも要件で定義されている最大ファイルサイズを超えた場合についても考慮が必要となる。実際に大容量のファイルを作成するには、I/O負荷検証で紹介したツールなどを利用するのが一番である。

 ここでは非常に一般的な負荷パターンを紹介したが、まだまだシステムの種類によってはさらに多くの負荷パターンを考慮する必要がある。どの負荷検証を行う必要があるかについてはテスト計画を立案するタイミングで優先度を考えながら検討する必要があるだろう。また、そのシステムが提供するビジネス的な価値も考慮し、負荷検証の優先順位を考えてみるのもいいだろう。ただし、試験的な公開であったとしても負荷検証を行わないことはないので、必ず負荷検証のタスクと工数は算出しておく必要がある。

システムの信頼性測定を行うロード検証

 負荷検証と同レベルで扱うことが多いが、一定の負荷をかけた状態を長時間測定するのがロード検証である。ロード検証は構築したWebアプリケーションのメモリリークによる性能劣化などを検証するのに必要となる。ロード検証を行う場合、どの程度の負荷をどの程度の時間かければいいのかを決定する必要がある。ロード検証を行う期間についてはシステムの機能や種類で異なってくるが、負荷については負荷検証の80%程度で行うのがいいだろう。

 ロード検証の実施は、機能実装が終了し、機能検証がある程度終了したタイミングとシステムの総合テストのタイミングの最低2回は行うことをお勧めしたい。チューニングなどによってシステムの信頼性が変わっている場合もあるので可能ならば複数回の実施をお勧めしたい。

次回に向けて

 今回はシステムの信頼性を測定する負荷検証とロード検証について紹介した。どちらのテストもシステム停止などの問題やシステムの性能を事前に検証できる重要なテストなので、テスト計画を立案するタイミングで必ずこれらのテストが含まれていることを確認して頂きたい。

 次回はシステム構成試験、セキュリティ検証などについて紹介する。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ