エンタープライズ:ニュース 2002/07/16 20:56:00 更新


Webサイトの負荷テストが必要な理由

Webサイトの運用において、事前の負荷テストを通じてリスクを予測し、それに備えておくことは重要だ。これは実稼働後の増強、拡張時の参考値として役立てることもできる。そしてこうしたニーズに応えるべく、ネットベインをはじめとする多くの企業がサービスを提供している。

 Webサイトのパフォーマンスを表す指標は多種多様だが、その中の代表的なものとして「8秒ルール」が挙げられる。これはサイトにアクセスしたとき8秒以内にレスポンスがなければ、ユーザーはそのサイトにアクセスするのを止めてしまい、再びそのサイトを訪れることはしないというものだ。

 もし公開サイトで、予測しなかった規模のアクセスが集中した場合、急激にレスポンスが落ち、この8秒ルールに違反してしまうことは十分予想できる。結果として、そのユーザーには二度とアクセスしてもらえない、ということにもなりかねない。

 ただし、既に稼動中のサーバに対するチューニングは、作業を行う管理者にとっても、アクセスするユーザーにとっても歓迎できることではない。開発初期段階や実稼働前ならば少しの修正で済むが、実運用中の環境では、サービスに与える影響を考慮しながらの作業となるため、期間やコストもかさむことが多い。

 したがって、このような事態を避けるうえでも、事前の負荷テストを通じてリスクを予測し、それに備えておくことは重要となる。また、実稼働後も負荷状況を見極め、増強、拡張の対策を講じる際、負荷テストより得たデータが参考値として役立つことになる。

 現在ではこうしたニーズに応え、NTTコミュニケーションズやIIJといったサービスプロバイダーのほか、野村総合研究所(NRI)などのデータセンター事業者、NTTコムウェアをはじめとするシステムインテグレータなど、さまざまな企業がサービスを提供している。

 これらのサービスは、大きく2つのタイプに分けることができる。1つめは、定期的にWebサイトのレスポンスを監視し、あらかじめ定めた閾値を超えた場合に顧客に連絡する監視サービスを中心としたもの。もう1つは、エージェントなどを用いて仮想的に大量の負荷を発生させ、状況に応じてサーバに起り得る状態や限界値を探るものだ。

 負荷計測に用いられるツールもさまざまだ。負荷テストツールならば、マーキュリー・インタラクティブ・ジャパン(マーキュリー)の「LoadRunner」があるし、パフォーマンス監視ツールでは、同じくマーキュリーの「Topaz」やBMCソフトウェアの「SiteAngel」などが挙げられる。あるいは自社独自開発のツールを用いる場合もある、多くの選択肢が存在する。サービスツールや支払う料金によって、測定内容やレポートのきめ細かさが異なってくるため、自社のニーズに合わせて選択できる。

 そのうちここで取り上げるのは、マネージドサービスを展開しているネットベインのサービスメニューの1つとして提供している「QualityVein(QV)」だ。QVはWebサーバに対する負荷テストを行ったうえ、レポートおよびその分析を提供するコンサルティングサービスとなっている。

 QVで採用されている負荷テストツールは、米エンピレックスが開発した「e-Load」である。これはエンピレックスの統合Webテスト製品「e-TEST Suite」を構成するコンポーネントの1つであり、他に、機能/リグレッションテストを行う「e-Tester」と運用アプリケーションの品質を24時間365日継続して監視する「e-Monitor」がある。

 e-Loadは簡単に言えば、仮想的なユーザーを作り出し、ターゲットとなるWebサーバにアクセスさせて、サーバに与える影響を測定するためのツールだ。

e-Loadでは、 Internet Explorerエミュレータ機能を備えたe-Testerで作成したテストスクリプトに沿って、仮想ユーザーをアクセスさせることにより、実際のブラウザが生成するトラフィックと同じリクエストを生成する。このためリンクをクリックするタイミングなども含め、実際のユーザーの「動線」に近い動きを再現できるのが特徴となっている。

 またサーバの状態監視には、e-TEST Suiteに含まれる「ServerStats」を用い、SNMPを通じて、テスト対象となるサーバのCPU、メモリ消費、プロセス数などの細かな情報を収集。e-Testerにより仮想ユーザ数を徐々に増加させながら、どの段階でどんな影響が出てくるかを細かくチェックすることが可能となっており、アクセスの増加がサーバリソースにどういった影響を与えているかを把握し、ボトルネックの切り分け作業を行うことができる。

 ZDNet Japanでも、サーバ増強作業に併せ、ネットベインの協力を得て同テストを行っている。

 技術部によると、「これまで負荷テストを独自に行っていたが、実環境とほぼ同等の環境下で実負荷以上のテストを行えていなかったのが実情である。今回のテストにより、こちらが想定していたサーバ限界値やボトルネックを確認できたばかりか、足回りの確認も行えたのは有益であった。また与える負荷は、テストツールがあらかじめ用意しているWebページではなく、e-Loadにより実際にサービスするページを利用して生成されるため、弊社のページ構成が抱える問題点やOSのカスタマイズなどの有効範囲も確認できた」という。ただ、一般的なWebサーバに比べるとやはり規模が大きかったため、仮想的な負荷を作成するのは簡単ではなかったようだ。

 ネットベインの森稔氏(マネージメントサービス部門・サービス企画部)は、「これまで幾つかテストを行ってきたが、面白いことに、インターネットに公開している外向けのWebサーバよりも、従業員向けのイントラネットサーバで問題が発見されるケースがあった。イントラネット用のサーバだからと十分なスペックを用意しておかないと、例えば朝、出勤直後に多くの社員がアクセスしたときに、極端にパフォーマンスが落ち、ビジネスに影響を及ぼす可能性がある」と述べている。

関連リンク
▼ネットベイン

[ITmedia]