岡崎 俊二氏 マーキュリー・インタラクティブ・ジャパン副社長
Webサイトの実力や状態は,机上の設計や,機器単体の監視では正確に把握できない。そこで,Webサイトを安定稼働させるには,処理能力を事前にテストしたり,運用中のレスポンスを監視することが不可欠になる。今回から4回にわたって,テスト/監視ツールを使ったWebサイトのパフォーマンス管理のポイントを紹介する。
ネットワーク機器,サーバー,アプリケーション・ソフト,データベースなど,複数の要素を組み合わせて構成するWebサイトは,処理能力やレスポンスの事前予測が難しい。そこで,運用開始前のWebサイトに高い負荷を与え,処理能力の限界やレスポンスの変化を測定する事前の負荷テストが効果を発揮する。Webサイトの能力を把握するだけでなく,細かく分析すれば改善すべきポイントを洗い出せる。
安易なテストで立ち上げに失敗 負荷テストで複数の問題を発見
負荷テストはWebサイトの性能を事前に,かつ正確に把握するのが目的。怠ればもちろん,いい加減なテストでは,本番で何が起こってもおかしくない。性能だけでなくボトルネックも洗い出すには,なるべく多くの機器を測定対象にするのがポイントだ。
流通業のA社は消費者向けのEC(電子商取引)サイトを構築した。社内の在庫管理システムと直結,エンドユーザーに出荷までの時間を確約できるのが自慢だった。開発も慎重に進め,十分な性能を持つシステムを開発したつもりだった。実稼働前には,実際に1台のテスト用Webブラウザからアクセスも試みた。その結果のレスポンスは平均4秒。システム上の問題も見つからなかった。
設計性能が出ずにサイトを一時閉鎖
しかし,A社のECサイトは立ち上げ早々からトラブルに見舞われた。エンドユーザーからサイトのレスポンスが悪すぎるという苦情が寄せられたのである。レスポンスが悪いために,発注ボタンを何度もクリックしたユーザーに必要以上の商品が発送されたり,発注が成立しなかったと思っていたユーザーに商品が発送されるといったトラブルも相次いだ。
調べてみると,HTTPサーバーのメモリー使用率が大きくなっており,頻繁にメモリーの内容をハード・ディスクに書き出している状態だった。A社では同時アクセスの結果,メモリー使用率が大きくなりレスポンスが低下したのだと判断,メモリーを緊急増設した。その結果メモリーの使用率は下がったが,レスポンスは一向に良くならなかった。
万策尽きたA社は,いったんECサイトを閉鎖して,システムを見直さざるを得なくなった。