(57)【要約】【課題】ウェブ負荷試験で負荷シミュレータにより生成される仮想プロキシサーバがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオを作成できるようにすること。【解決手段】シナリオ作成モジュール２３ａは、ナビゲートのたびに、ウェブブラウザ２２からナビゲートにおける仮想プロキシサーバ２３ｃへの最初のリクエストに係る情報を取得し、ナビゲートＩＤを発行してナビゲート管理テーブル３１に記録する。また、シナリオ作成モジュール２３ａは、アクセスのたびに、仮想プロキシサーバ２３ｃからウェブサーバ装置１０へのリクエストメッセージを取得し、アクセスＩＤを発行してアクセス管理テーブル３２に登録する。この登録の時に、リクエストメッセージ内のＵＲＬがナビゲート管理テーブル３１内のＵＲＬと一致していた場合、シナリオ作成モジュール２３ａは、そのＵＲＬのナビゲートＩＤをアクセスＩＤに対応付ける。【選択図】図２
2008234279.tif 000002
【特許請求の範囲】
【請求項１】
試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成プログラムであって、
コンピュータを、
ウェブブラウザが操作者からの指示に従って前記仮想プロキシサーバを介して前記ウェブサーバ装置にＨＴＭＬデータをリクエストするたびに、そのリクエストに関するリクエスト情報を前記ウェブブラウザから取得する第１の取得手段、
前記第１の取得手段が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときに前記ウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第１の記憶手段、
前記仮想プロキシサーバが、前記ウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第２の取得手段、
前記第２の取得手段が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第２の記憶手段、及び、
前記シナリオテーブルに記録されたリクエストメッセージ内のＵＲＬと、前記ナビゲート管理テーブルに記録されたリクエスト情報内のＵＲＬとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、前記シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け手段
として機能させる
ことを特徴とするシナリオ作成プログラム。
【請求項２】
試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成装置であって、
ウェブブラウザが操作者からの指示に従って前記仮想プロキシサーバを介して前記ウェブサーバ装置にＨＴＭＬデータをリクエストするたびに、そのリクエストに関するリクエスト情報を前記ウェブブラウザから取得する第１の取得部、
前記第１の取得部が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときに前記ウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第１の記憶部、
前記仮想プロキシサーバが、前記ウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第２の取得部、
前記第２の取得部が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第２の記憶部、及び、
前記シナリオテーブルに記録されたリクエストメッセージ内のＵＲＬと、前記ナビゲート管理テーブルに記録されたリクエスト情報内のＵＲＬとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、前記シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け部
を備えることを特徴とするシナリオ作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷シミュレータが使用するシナリオを作成するためのシナリオ作成プログラム及びシナリオ作成装置に、関する。
【背景技術】
【０００２】
周知のように、ウェブ負荷試験装置は、試験対象となるウェブサーバ装置にアクセス負荷を掛けてそのウェブサーバ装置の状態を観察するため、負荷シミュレータ、及び、ビューワを、含んでいる。このうち、負荷シミュレータは、仮想的にプロキシサーバとして機能するスレッドを複数生成し、それら複数の仮想プロキシサーバに対し、試験対象となるウェブサーバ装置内のウェブページデータをリクエストする順番を定義したシナリオを与えて、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせる機能である。負荷シミュレータは、各仮想プロキシサーバがそのウェブサーバ装置から受けたレスポンスメッセージそのものを保存したりレスポンスのログを録ったりする。ビューワは、ウェブ負荷試験で仮想プロキシサーバが取得したレスポンスメッセージ内のウェブページデータに基づいてウェブページを表示したり、レスポンスのログ情報を一覧表示したりするための機能である。
【０００３】
前述したシナリオは、ウェブ負荷試験を行う前に、操作者によって予め作成される。具体的には、操作者が、ウェブブラウザから仮想プロキシサーバを介して試験対象のウェブサーバ装置に実際にアクセスする。すると、仮想プロキシサーバが、ウェブサーバ装置へのアクセス履歴を保存するので、その保存されたアクセス履歴に基づいて、シナリオは作成される。シナリオ自体は、幾つかのリクエストメッセージからなるとともに、それらの送信順を定義したデータである。このシナリオを構成する各リクエストメッセージの中には、ゲットメソッド又はポストメソッドによりウェブサーバ装置に引き渡すべき引数を含むものもある。
【０００４】
しかしながら、それら引数は、シナリオを作成した時に適正なものであって、ウェブ負荷試験でウェブサーバ装置にアクセス負荷を掛ける際に適正なものとならない場合がある。例えば、仮想プロキシサーバは、セッションＩＤ［Identification］を含んだレスポンスメッセージをウェブサーバ装置から受信した場合、その後にウェブサーバ装置に送信されるリクエストメッセージは、本来ならば、そのセッションＩＤを含んだものとせねばならない。しかし、ウェブ負荷試験では、仮想プロキシサーバは、シナリオデータに従って、シナリオ作成当時のセッションＩＤを含むリクエストメッセージをそのままウェブサーバ装置に送信するようになっている。このため、ウェブサーバ装置は、そのリクエストメッセージに含まれるセッションＩＤに基づいてセッションエラーを検出し、その結果、ウェブ負荷試験が継続されなくなってしまう。
【０００５】
なお、特許文献１及び２には、シナリオ中で変化させるべきパラメータを入力パラメータとして事前に複数用意しておく技術は、記載されている。しかし、この技術では、ウェブサーバ装置へアクセスするごとに値が異なるセッションＩＤのようなパラメータについて、応用することができない。
【０００６】
【特許文献１】特開２００５−２５０９４５号公報
【特許文献２】特開２００５−３３２１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、前述したような従来の事情に鑑みてなされたものであり、その課題は、ウェブ負荷試験で負荷シミュレータにより生成される仮想プロキシサーバがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオを作成できるようにすることにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための案出されたシナリオ作成プログラムは、試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成プログラムであって、コンピュータを、ウェブブラウザが操作者からの指示に従って仮想プロキシサーバを介してウェブサーバ装置にＨＴＭＬデータをリクエストするたびに、そのリクエストに関するリクエスト情報をウェブブラウザから取得する第１の取得手段、その第１の取得手段が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときにウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第１の記憶手段、仮想プロキシサーバがウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第２の取得手段、その第２の取得手段が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第２の記憶手段、及び、シナリオテーブルに記録されたリクエストメッセージ内のＵＲＬと、ナビゲート管理テーブルに記録されたリクエスト情報内のＵＲＬとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け手段として機能させることを、特徴としている。
【０００９】
このように構成されると、コンピュータは、シナリオテーブルに記録しようとするリクエストメッセージが、ナビゲート管理テーブル内のリクエスト情報に含まれるＵＲＬの何れかに一致するＵＲＬを含んでいた場合に、そのリクエスト情報に対応付けられているリクエスト識別情報をそのリクエストメッセージに対応付けてシナリオテーブルに記録するよう、動作する。
【００１０】
仮想プロキシサーバは、ウェブ負荷試験において、以上のような動作により作成されたシナリオテーブル内のリクエストメッセージを、試験対象のウェブサーバ装置に送信する前に、そのリクエストメッセージ内にリクエストパラメータが含まれていたときには、ナビゲート管理テーブル内のレコードの中から、そのリクエストメッセージに対応付けられているリクエスト識別情報を含むレコードを特定し、その特定したレコード内のソース識別情報を読み出すことができる。続いて、仮想プロキシサーバは、シナリオテーブル内のレコードの中から、読み出したソース識別情報に一致するリクエスト情報を含むレコードを特定することができる。さらに、仮想プロキシサーバは、ウェブ負荷試験においてその時点までにウェブサーバ装置から受信した複数のレスポンスメッセージの中から、前述したようにして特定されたレコードのリクエストメッセージに対するレスポンスメッセージを特定し、そのレスポンスメッセージ内のレスポンスパラメータで、送信しようとするリクエストメッセージ内のリクエストパラメータを更新することができる。このように、本発明のシナリオ作成プログラムにより作成されたシナリオテーブルによれば、仮想プロキシサーバは、シナリオにおける送信しようとするリクエストパラメータを、ウェブ負荷試験中に受信した適切なレスポンスパラメータに置換できるようになる。
【００１１】
また、上記の課題を解決するために案出されたシナリオ作成装置は、試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成装置であって、ウェブブラウザが操作者からの指示に従って仮想プロキシサーバを介してウェブサーバ装置にＨＴＭＬデータをリクエストするたびに、そのリクエストに関するリクエスト情報をウェブブラウザから取得する第１の取得部、その第１の取得部が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときにウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第１の記憶部、仮想プロキシサーバが、ウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第２の取得部、その第２の取得部が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第２の記憶部、及び、シナリオテーブルに記録されたリクエストメッセージ内のＵＲＬと、ナビゲート管理テーブルに記録されたリクエスト情報内のＵＲＬとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け部を備えることを、特徴としている。
【００１２】
従って、このシナリオ作成装置は、前述した本発明のシナリオ作成プログラムが動作したコンピュータと同等に機能することとなる。
【発明の効果】
【００１３】
以上に説明したように、本発明によれば、ウェブ負荷試験で負荷シミュレータにより生成される仮想プロキシサーバがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオが、作成できるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
【００１５】
図１は、本実施形態のコンピュータネットワークシステムの構成図である。
【００１６】
図１に示すように、本実施形態のコンピュータネットワークシステムは、ウェブ負荷試験の対象となるウェブサーバ装置１０と、そのウェブ負荷試験のためにそのウェブサーバ装置１０にアクセス負荷を掛けるウェブ負荷試験装置２０とからなる。両装置１０、２０は、互いに通信自在となるよう、ネットワークＮを介して接続されている。
【００１７】
ウェブサーバ装置１０は、周知のウェブサーバ機能が付加された汎用コンピュータである。従って、このウェブサーバ装置１０は、ストレージユニット１０ａ、ＣＰＵ［Central Processing Unit］１０ｂ、メモリユニット１０ｃ、及び、通信アダプタ１０ｄ等のハードウエアを、内蔵している。このうち、ストレージユニット１０ａは、各種のプログラム及び各種のデータを記憶するユニットである。ＣＰＵ１０ｂは、ストレージユニット内のプログラムに従って処理を行うユニットである。メモリユニット１０ｃは、ストレージユニットから読み出されたプログラムがキャッシュされたりＣＰＵ１０ｂの作業領域が展開されたりするユニットである。通信アダプタ１０ｄは、ネットワークＮ上の他のコンピュータとの間でデータの遣り取りをするためのユニットである。
【００１８】
そして、ウェブサーバ装置１０のストレージユニット１０ａは、基本ソフトウエア１１、ウェブページデータ１２、及び、ウェブサーバプログラム１３を、記憶している。基本ソフトウエア１１は、通信アダプタ１０ｄにおけるデータの入出力の管理や、ストレージユニット１０ａ及びメモリユニット１０ｃの記憶領域の管理といった基本的な機能を多くのアプリケーションソフトウエアに提供するためのソフトウエアである。ウェブページデータ１２は、ウェブページを表示するためのデータであり、ＨＴＭＬ［HyperText Markup Language］データや、画像データである。このウェブページデータ１２の中には、別のウェブページへ飛ぶためのリンクを表示する情報を内部に含んでいるウェブページデータ１２が含まれていても良い。ウェブサーバプログラム１３は、図示せぬウェブクライアント装置からの要求に応じてウェブページデータ１２を送信するためのプログラムである。具体的には、このウェブサーバプログラム１３（に従ったＣＰＵ１０ｂ）は、通信アダプタ１０ｄを通じて図示せぬウェブクライアント装置から要求を受けると、要求されたウェブページデータ１２をストレージユニット１０ａから読み出し、通信アダプタ１０ｄを通じて要求元のウェブクライアント装置へ送信する。
【００１９】
ウェブ負荷試験装置２０は、ウェブ負荷試験ツールが付加されたパーソナルコンピュータである。従って、このウェブ負荷試験装置２０は、液晶ディスプレイ等の表示装置２０ａと、キーボードやマウス等の入力装置２０ｂと、これら装置２０ａ，２０ｂに接続される本体とからなる。また、その本体は、ストレージユニット２０ｃ、ＣＰＵ２０ｄ、メモリユニット２０ｅ、及び、通信アダプタ２０ｆ等のハードウエアを、内蔵している。
【００２０】
そして、ウェブ負荷試験装置２０のストレージユニット２０ｃは、基本ソフトウエア２１、ウェブブラウザ２２，及び、ウェブ負荷試験ツールソフトウエア２３を記憶している。基本ソフトウエア２１は、ウェブサーバ装置１０の基本ソフトウエア１１と同等の機能を発揮するソフトウエアである。ウェブブラウザ２２は、操作者からの指示に従ってウェブサーバ装置１０からウェブページデータ１２を取得してウェブページを表示するためのプログラムである。より具体的には、ウェブブラウザ２２（に従ったＣＰＵ２０ｄ）は、ウェブページ内のリンクボタンのクリックやウェブブラウザ画面へのＵＲＬ［Uniform Resource Locator］の入力などの操作者からの指示、又は、ウェブページデータ１２内に記述されたイメージタグやフレームタグなどによるウェブページデータ１２の取得の指示があると、その指示においてＵＲＬで指定されたウェブページデータ１２の送信を要求するリクエストメッセージをウェブサーバ装置１０へ送信し、そのウェブサーバ装置１０からレスポンスメッセージを受信して、そのレスポンスメッセージのボディ内のウェブページデータ１２に基づいて、ウェブページを表示装置２０ａに表示する。
【００２１】
ウェブ負荷試験ツールソフトウエア２３は、パーソナルコンピュータをウェブ負荷試験装置として機能させるためのプログラム及びデータである。このウェブ負荷試験ツールソフトウエア２３は、シナリオ作成モジュール２３ａ及び負荷シミュレータ２３ｂを、含んでいる。
【００２２】
シナリオ作成モジュール２３ａは、ウェブ負荷試験のために負荷シミュレータ２３ｂが生成する後述の仮想プロキシサーバに対して与えられるシナリオを作成するためのモジュールプログラムである。なお、このシナリオ作成モジュール２３ａ自身も、後述の仮想プロキシサーバを生成する機能を、有している。シナリオは、詳しくは後述するが、簡単に説明すると、仮想プロキシサーバが試験対象となるウェブサーバ装置１０内のウェブページデータ１２をリクエストする順番を定義したものである。このシナリオ作成モジュール２３ａに従ってＣＰＵ２０ｄが実行する処理の内容については、図３乃至図６を用いて後述する。
【００２３】
負荷シミュレータ２３ｂは、試験対象となるウェブサーバ装置１０にアクセス負荷を掛けるためのモジュールプログラムである。より具体的には、負荷シミュレータ２３ｂ（に従ったＣＰＵ２０ｄ）は、仮想的にプロキシサーバとして機能するスレッド（シナリオ取得時の仮想プロキシサーバとウェブサーバとの間の通信を再現するスレッド）を複数生成し、それら複数の仮想プロキシサーバにシナリオを与えることによって、それら仮想プロキシサーバに対し、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせる。また、負荷シミュレータ２３ｂは、各仮想プロキシサーバがそのウェブサーバ装置１０から受信したレスポンスメッセージそのものを保存したり、レスポンスのログを録ったりする。なお、本発明でいう仮想プロキシサーバは、シミュレーション実行時には、一般的に言われるプロキシサーバのようにウェブブラウザとウェブサーバとの通信を中継する処理を行うわけではないが、便宜上、仮想プロキシサーバと呼ぶことにする。仮想プロキシサーバが実行する処理の内容については、図８及び図９を用いて後述する。
【００２４】
ここで、シナリオ作成モジュール２３ａによる処理の内容を説明する前に、シナリオ作成モジュール２３ａとウェブブラウザ２２と仮想プロキシサーバとの関係について説明する。
【００２５】
図２は、シナリオ作成時のウェブブラウザ２２と仮想プロキシサーバ２３ｃとウェブサーバ装置１０との関係図である。
【００２６】
図２に示すように、仮想プロキシサーバ２３ｃは、ウェブブラウザ２２とウェブサーバ装置１０との間でＨＴＴＰ［HyperText Transfer Protocol］メッセージを中継する。より具体的には、仮想プロキシサーバ２３ｃは、ウェブブラウザ２２からウェブサーバ装置１０宛のリクエストメッセージを受信すると、そのリクエストメッセージの内容をチェックし、必要に応じて加工した後、送信元に関する情報を仮想プロキシサーバ２３ｃのものに書き換えて、ウェブサーバ装置１０に送信する。また、仮想プロキシサーバ２３ｃは、ウェブサーバ装置１０からレスポンスメッセージを受信すると、そのレスポンスメッセージの内容をチェックし、必要に応じて加工した後、そのレスポンスメッセージを、ウェブブラウザ２２に送信する。ここで、仮想プロキシサーバ２３ｃは、ウェブサーバ装置１０から受信したレスポンスメッセージのステータスコードが３００番代であった場合には、ウェブブラウザ２２にレスポンスメッセージを送信せず、ロケーションヘッダに記されたアドレス宛に再度リクエストメッセージを送信するようになっている。また、仮想プロキシサーバ２３ｃは、ウェブサーバ装置１０から受信したレスポンスメッセージのステータスコードが４０１番であった場合には、ウェブブラウザ２２にそのレスポンスメッセージを送信し、ウェブブラウザ２２からユーザ認証に係る情報を含んだリクエストメッセージを受信して、ウェブサーバ装置１０にその情報を送信するようになっている。そして、仮想プロキシサーバ２３ｃは、ウェブサーバ装置１０へのリクエストメッセージの送信、及び、ウェブサーバ装置１０からのレスポンスメッセージの受信を行うたびに、シナリオ作成モジュール２３ａへ、リクエストメッセージ及びレスポンスメッセージを引き渡すようになっている。
【００２７】
一方、ウェブブラウザ２２は、図示せぬウェブブラウザ画面のＵＲＬ入力欄にＵＲＬが入力されたり、ウェブページ上のリンクボタンがクリックされたり、ウェブページデータ１２内に記述されたフレームタグやイメージタグによりウェブページデータ１２の取得が指示されたりすることにより、リクエストメッセージを仮想プロキシサーバ２３ｃに送信する。また、ウェブブラウザ２２は、仮想プロキシサーバ２３ｃからレスポンスメッセージを受信すると、そのレスポンスボディがＨＴＭＬデータや画像データであれば、図示せぬウェブブラウザ画面にウェブページや画像を表示する。ここで、ウェブブラウザ２２が、インターネットエクスプローラ（マイクロソフト社商標）であれば、ＨＴＭＬで記述されたウェブページデータ１２のリクエストを行うごとにその旨をシナリオ作成モジュール２３ａに通知するコンポーネントプログラム（図示略）を、含んでいる。そのコンポーネントプログラム（図示略）は、ＨＴＭＬデータ以外のウェブページデータ（例えば、画像データやスタイルシートデータ）をリクエストするときには、その種の通知を行わないようになっている。さらに、そのコンポーネントプログラム（図示略）は、ＨＴＭＬデータ内に記述されているイメージタグに基づく画像データのような、ウェブページの表示を完了させるのに必要な全てのウェブページデータ１２（ＨＴＭＬデータを除く）を取得すると、その旨をシナリオ作成モジュール２３ａに通知するようにもなっている。なお、インターネットエクスプローラにおいては、ＨＴＭＬデータとそれに付随するＨＴＭＬデータ以外のデータとを取得する一連の行為は、ナビゲートと称されている。本実施形態のウェブブラウザ２２は、インターネットエクスプローラのように、ナビゲートが一つ行われるごとにそのナビゲートの開始通知及び終了通知を行うコンポーネントプログラムを、含んでいる。
【００２８】
以上のように構成されるコンピュータネットワークシステムにおいて、ウェブ負荷試験装置２０のＣＰＵ２０ｄは、ウェブ負荷試験を行おうとする操作者によって入力装置２０ｂが操作されることにより、シナリオ作成モジュール２３ａの起動が指示されると、シナリオ作成モジュール２３ａをストレージユニット２０ｃから読み出し、シナリオ作成モジュール２３ａの動作を開始させる。
【００２９】
図３乃至図５は、シナリオ作成モジュール２３ａによる処理の流れを示す図である。
【００３０】
シナリオ作成処理の開始後、最初のステップＳ１０１では、シナリオ作成モジュール２３ａ（を実行したＣＰＵ２０ｄ）は、作業画面をウインドウ内に表示する。この作業画面は、シナリオ作成に関する操作を行うための画面であり、図示していないが、幾つかのボタンを含んでいる。この作業画面に含まれるボタンには、ウェブブラウザ２２を利用したウェブサーバ装置１０へのアクセスを開始する前にクリックすべき開始ボタンと、そのアクセスを終了した後でクリックすべき保存ボタンとが、含まれている。
【００３１】
次のステップＳ１０２では、シナリオ作成モジュール２３ａは、ステップＳ１０１で表示した図示せぬ作業画面内の開始ボタンのクリックによる作成開始指示があるまで、待機する。そして、作成開始指示があると、シナリオ作成モジュール２３ａは、ステップＳ１０３へ処理を進める。
【００３２】
ステップＳ１０３では、シナリオ作成モジュール２３ａは、仮想プロキシサーバ２３ｃとして動作するスレッドを生成する（図２参照）。
【００３３】
次のステップＳ１０４では、シナリオ作成モジュール２３ａは、作業画面とは別のウインドウに、ウェブブラウザ２２を起動する。このように別ウインドウで起動したウェブブラウザ２２により、作業者は、作業画面を意識することなく、ウェブサーバ装置１０が提供するウェブページをサーフィン（閲覧）することができる。
【００３４】
次のステップＳ１０５では、シナリオ作成モジュール２３ａは、二つのテーブルをメモリユニット２０ｅ上に新規生成する。ここで生成される二つのテーブルは、ウェブブラウザ２２からナビゲート開始通知とともに引き渡されるリクエストヘッダの内容の一部を記憶するためのナビゲート管理テーブル、及び、仮想プロキシサーバ２３ｃから引き渡されるリクエストヘッダとレスポンスメッセージとを対応付けて記憶するためのアクセス管理テーブルである。
【００３５】
図６は、ナビゲート管理テーブル３１のデータ構造の一例を示す図である。
【００３６】
図６に示すように、ナビゲート管理テーブル３１の各レコードは、「ナビゲートＩＤ」、「ソースＩＤ」、「ＵＲＬ」、「リクエストヘッダ」及び「リクエストデータ」の各フィールドを、有している。「ナビゲートＩＤ」フィールドは、そのナビゲート（という一つの単位）を一意に特定するための識別情報であるナビゲートＩＤが記録されるフィールドである。なお、本実施形態では、このナビゲートＩＤは、ナビゲートの順番を特定する自然数の番号となっている。「ソースＩＤ」フィールドは、そのナビゲートによるウェブページを表示する直前に表示されていたウェブページについてのナビゲートＩＤがソースＩＤとして記録されるフィールドである。すなわち、そのナビゲートの動作元となった画面を記録している意味を持つ。なお、図６では、「ソースＩＤ」フィールドに「−１」が格納されているレコードが存在しているが、これは、そのレコードにて示されるナビゲートよりも前のナビゲートが存在していないこと（すなわち、そのナビゲートが第一回目であること）を示している。「ＵＲＬ」フィールドは、そのナビゲートに係る最初のリクエストで指定されたＵＲＬ（すなわち、ＨＴＭＬで記述されたウェブページデータ１２のＵＲＬ）が記録されるフィールドである。「リクエストヘッダ」フィールドは、そのナビゲートに係る最初のリクエストのリクエストヘッダが記録されるフィールドである。なお、このナビゲート管理テーブル３１は、ウェブブラウザ２２から引き渡されるデータを管理しているものであるため、このフィールドの中に格納されるリクエストヘッダのデータ内容は、ブラウザ情報であるUser-Agentとなる。「リクエストデータ」フィールドは、そのナビゲートに係る最初のリクエストのリクエストデータが記録されるフィールドである。なお、リクエストデータは、リクエストメッセージのボディに格納されるデータである。
【００３７】
図７は、アクセス管理テーブル３２のデータ構造の一例を示す図である。
【００３８】
図７に示すように、アクセス管理テーブル３２の各レコードは、「アクセスＩＤ」、「ナビゲートＩＤ」、「ＵＲＬ」、「リクエストヘッダ」及び「リクエストデータ」の各フィールドを、有している。「アクセスＩＤ」フィールドは、仮想プロキシサーバ２３ｃがリクエストメッセージを送信してレスポンスメッセージを受信するまでの一連の行為を一つのアクセスと勘定する場合において、そのアクセスを一意に特定するための識別情報が記録されるフィールドである。なお、本実施形態では、このアクセスＩＤは、アクセスの順番を特定する自然数の番号となっている。「ナビゲートＩＤ」フィールドは、そのアクセスが、ウェブブラウザ２２からの或るナビゲートに係る最初のリクエストに基づくものである場合に、そのナビゲートのナビゲートＩＤが記録されるフィールドである。但し、そのアクセスが、或るナビゲートに係る最初のリクエストに基づくものではない場合（例えば、３０１番のステータスコードに基づく別ＵＲＬへのアクセスである場合）、「ナビゲートＩＤ」フィールドには、結びつくナビゲートＩＤが無いという意味で、後述するように「−１」が記録される。「ＵＲＬ」フィールドは、そのアクセスに係るリクエストで指定されたＵＲＬが記録されるフィールドである。なお、このフィールドに記録されるＵＲＬは、上記のナビゲートに係るＵＲＬと異なり、ＨＴＭＬで記述されたウェブページデータ１２ではないデータ１２のＵＲＬである場合もある。「リクエストヘッダ」フィールドは、そのアクセスに係るリクエストのリクエストヘッダが記録されるフィールドである。例えば、User-Agentに関わるデータ以外に、ホストヘッダに関わるデータなどがこの「リクエストヘッダ」フィールドに格納されることになる。「リクエストデータ」フィールドは、そのアクセスに係るリクエストのリクエストデータが記録されるフィールドである。なお、ファイルアップロード処理時のアップロードデータの内容も、この「リクエストデータ」フィールドに格納されることになる。
【００３９】
シナリオ作成モジュール２３ａは、図６及び図７に示すようなテーブル３１、３２を作成した後、図３のステップＳ１０６へ処理を進める。但し、この時点では、これらテーブル３１、３２にはレコードが１つも記録されていない。すなわち、ステップＳ１０５では、新規のテーブル３１、３２が生成される。
【００４０】
ステップＳ１０６では、シナリオ作成モジュール２３ａは、ステップＳ１０１で表示された図示せぬ作業画面内の保存ボタンのクリックによる保存指示があったか否かを、判別する。そして、保存指示がなかった場合、シナリオ作成モジュール２３ａは、ステップＳ１０６からステップＳ１０７へ処理を分岐させる。
【００４１】
ステップＳ１０７では、シナリオ作成モジュール２３ａは、ウェブブラウザ２２（を実行したＣＰＵ２０ｄ）からナビゲート開始通知があったか否かを、判別する。なお、このナビゲート開始通知は、前述したように、ウェブブラウザ２２がナビゲート開始前（ＨＴＭＬで記述されたウェブページデータ１２のリクエスト前）に送信してくる通知である。そして、ウェブブラウザ２２からナビゲート開始通知がなかった場合、シナリオ作成モジュール２３ａは、ステップＳ１０７から処理を分岐して、ステップＳ１０６へ処理を戻す。
【００４２】
そして、ステップＳ１０６及びＳ１０７の処理ループの実行中、ウェブブラウザ２２からナビゲート開始通知があった場合、シナリオ作成モジュール２３ａは、ステップＳ１０７からステップＳ１０８へ処理を進める。
【００４３】
ステップＳ１０８では、シナリオ作成モジュール２３ａは、図６のナビゲート管理テーブル３１で使われていない新規のナビゲートＩＤを、発行する。
【００４４】
次のステップＳ１０９では、シナリオ作成モジュール２３ａは、ウェブブラウザ２２からナビゲート開始通知とともに受け取ったリクエストヘッダの一部（ＵＲＬとユーザエージェント情報）を、ステップＳ１０８で発行されたナビゲートＩＤとともに、図６のナビゲート管理テーブル３１に登録する。
【００４５】
従って、ステップＳ１０７を実行するシナリオ作成モジュール２３ａ（ＣＰＵ２０ｄ）は、前述した第１の取得手段に相当し、ステップＳ１０８及びＳ１０９を実行するシナリオ作成モジュール２３ａ（ＣＰＵ２０ｄ）は、前述した第１の記憶手段に相当している。
【００４６】
次のステップＳ１１０では、シナリオ作成モジュール２３ａは、ステップＳ１０９でナビゲート管理テーブル３１に登録したＵＲＬを、処理対象として特定する。
【００４７】
次のステップＳ１１１では、シナリオ作成モジュール２３ａは、仮想プロキシサーバ２３ｃからリクエストメッセージが引き渡されるまで、待機する。なお、このリクエストメッセージは、仮想プロキシサーバ２３ｃからウェブサーバ装置１０に送信されるメッセージである。そして、仮想プロキシサーバ２３ｃからリクエストメッセージを受け取ると、シナリオ作成モジュール２３ａは、ステップＳ１１２へ処理を進める。
【００４８】
ステップＳ１１２では、シナリオ作成モジュール２３ａは、図７のアクセス管理テーブル３２で使われていない新規のアクセスＩＤを、発行する。
【００４９】
次のステップＳ１１３では、シナリオ作成モジュール２３ａは、ステップＳ１１１で受け仮想プロキシサーバ２３ｃから取ったリクエストメッセージ（ＵＲＬ、リクエストヘッダ及びリクエストデータ）を、ステップＳ１１２で発行されたアクセスＩＤとともに、図７のアクセス管理テーブル３２に登録する。
【００５０】
従って、ステップＳ１１１を実行するシナリオ作成モジュール２３ａ（ＣＰＵ２０ｄ）は、前述した第２の取得手段に相当し、ステップＳ１１２及びＳ１１３を実行するシナリオ作成モジュール２３ａ（ＣＰＵ２０ｄ）は、前述した第２の記憶手段に相当している。
【００５１】
次のステップＳ１１４では、シナリオ作成モジュール２３ａは、ステップＳ１１１で仮想プロキシサーバ２３ｃから受け取ったリクエストメッセージ内のＵＲＬと、ステップＳ１１０で処理対象として特定したＵＲＬとを、比較する。
【００５２】
次のステップＳ１１５では、シナリオ作成モジュール２３ａは、ステップＳ１１４での比較の結果、ＵＲＬ同士が一致するか否かを、判別する。ＵＲＬ同士が一致していなかった場合、シナリオ作成モジュール２３ａは、ステップＳ１１５からステップＳ１１６へ処理を分岐させる。
【００５３】
ステップＳ１１６では、シナリオ作成モジュール２３ａは、ステップＳ１１３で図７のアクセス管理テーブル３２に登録したリクエストメッセージのレコードの「ナビゲートＩＤ」フィールドに、「−１」を記録する。
【００５４】
次のステップＳ１１７では、シナリオ作成モジュール２３ａは、仮想プロキシサーバ２３ｃからレスポンスメッセージが引き渡されるまで、待機する。なお、このレスポンスメッセージは、ウェブサーバ装置１０から仮想プロキシサーバ２３ｃに送信されるメッセージである。そして、仮想プロキシサーバ２３ｃからレスポンスメッセージを受け取ると、シナリオ作成モジュール２３ａは、ステップＳ１２３へ処理を進める。
【００５５】
一方、ステップＳ１１５において、ステップＳ１１４での比較の結果、ＵＲＬ同士が一致していた場合、シナリオ作成モジュール２３ａは、ステップＳ１１８へ処理を進める。
【００５６】
ステップＳ１１８では、シナリオ作成モジュール２３ａは、ステップＳ１０９で図６のナビゲート管理テーブル３１に登録したナビゲートＩＤを、ステップＳ１１３で図７のアクセス管理テーブル３２に登録したリクエストメッセージのレコードの「ナビゲートＩＤ」フィールドに、記録する。
【００５７】
従って、ステップＳ１１５及びＳ１１８を実行するシナリオ作成モジュール２３ａ（ＣＰＵ２０ｄ）は、前述した対応付け手段に相当している。
【００５８】
次のステップＳ１１９では、シナリオ作成モジュール２３ａは、ステップＳ１１３で図７のアクセス管理テーブル３２に登録したリクエストメッセージのリクエストヘッダで、ステップＳ１０９で図６のナビゲート管理テーブル３１に登録したリクエストヘッダを、更新する。また、シナリオ作成モジュール２３ａは、ステップＳ１１３で図７のアクセス管理テーブル３２に登録したリクエストメッセージのリクエストデータを、ステップＳ１０９で図６のナビゲート管理テーブル３１に登録したナビゲートＩＤのレコードの「リクエストデータ」に、記録する。
【００５９】
次のステップＳ１２０では、シナリオ作成モジュール２３ａは、仮想プロキシサーバ２３ｃからレスポンスメッセージが引き渡されるまで、待機する。なお、このレスポンスメッセージは、ウェブサーバ装置１０から仮想プロキシサーバ２３ｃに送信されるメッセージである。そして、仮想プロキシサーバ２３ｃからレスポンスメッセージを受け取ると、シナリオ作成モジュール２３ａは、ステップＳ１２１へ処理を進める。
【００６０】
ステップＳ１２１では、シナリオ作成モジュール２３ａは、ステップＳ１２０で仮想プロキシサーバ２３ｃから受け取ったレスポンスメッセージのステータスコードが３００番代及び４０１番のうちの何れかであるか否かを、判別する。そして、レスポンスメッセージのステータスコードが３００番代及び４０１番のうちの何れでもなければ、シナリオ作成モジュール２３ａは、ステップＳ１２１からステップＳ１２３へ処理を分岐させる。一方、レスポンスメッセージのステータスコードが３００番代及び４０１番のうちの何れかであった場合、シナリオ作成モジュール２３ａは、ステップＳ１２２へ処理を進める。
【００６１】
ステップＳ１２２では、シナリオ作成モジュール２３ａは、ステップＳ１２０で仮想プロキシサーバ２３ｃから受け取ったレスポンスメッセージのロケーションヘッダの中のＵＲＬを、処理対象として特定する。その後、シナリオ作成モジュール２３ａは、ステップＳ１２３へ処理を進める。
【００６２】
ステップＳ１２３では、シナリオ作成モジュール２３ａは、ウェブブラウザ２２からナビゲート終了通知があったか否かを、判別する。なお、このナビゲート終了通知は、前述したように、ウェブブラウザ２２がナビゲート終了後（ＨＴＭＬで記述されたウェブページデータ１２とそれに付随するＨＴＭＬデータ以外のデータを全て取得した後）に送信してくる通知である。そして、ウェブブラウザ２２からナビゲート終了通知がなかった場合、シナリオ作成モジュール２３ａは、ステップＳ１２３から処理を分岐して、ステップＳ１１１へ処理を戻す。
【００６３】
そして、ステップＳ１１１乃至Ｓ１２３の処理ループの実行中、ウェブブラウザ２２からナビゲート終了通知があると、シナリオ作成モジュール２３ａは、ステップＳ１２３からステップＳ１０６へ処理を戻す。
【００６４】
そして、ステップＳ１０６及びＳ１０７の処理ループの実行中、ステップＳ１０１で表示された図示せぬ作業画面内の保存ボタンのクリックによる保存指示があった場合、シナリオ作成モジュール２３ａは、ステップＳ１０６からステップＳ１２４へ処理を進める。
【００６５】
ステップＳ１２４では、シナリオ作成モジュール２３ａは、図７のアクセス管理テーブル３２を、シナリオテーブルとしてストレージユニット２０ｃに保存する。また、シナリオ作成モジュール２３ａは、図６のナビゲート管理テーブル３１も、ストレージユニット２０ｃに保存し、このナビゲート管理テーブル３１をシナリオテーブル３２に関連付けておく。このようにして各テーブル３１、３２をストレージユニット２０ｃに保存した後、シナリオ作成モジュール２３ａは、図３乃至図５に係る処理を終了する。
【００６６】
このようにＣＰＵ２０ｄにより実行されるシナリオ作成モジュール２３ａによると、操作者は、図示せぬ作業画面上の開始ボタンをクリックして、ウェブブラウザ画面上でウェブページをサーフィン（閲覧）して、図示せぬ作業画面上の保存ボタンをクリックすれば、ナビゲート管理テーブル３１とシナリオテーブル３２とを作成することができる。
【００６７】
また、ウェブ負荷試験装置２０のＣＰＵ２０ｄは、作成したナビゲート管理テーブル３１とシナリオテーブル３２とを用いたウェブ負荷試験を行おうとする操作者によって入力装置２０ｂが操作されることにより、負荷シミュレータ２３ｂの起動が指示されると、負荷シミュレータ２３ｂをストレージユニット２０ｃから読み出し、負荷シミュレータ２３ｂの動作を開始させる。
【００６８】
負荷シミュレータ２３ｂ（に従ったＣＰＵ２０ｄ）は、まず、操作者から、入力装置２０ｂを通じて、ウェブ負荷試験に用いるシナリオテーブル３２を指定する情報を、受け付け、そのシナリオテーブル３２とそれに関連するナビゲート管理テーブル３１とをストレージユニット２０ｃから読み出す。続いて、負荷シミュレータ２３ｂは、仮想的にプロキシサーバとして機能するスレッドを、メモリユニット２０ｅ上に複数生成し、それら複数の仮想プロキシサーバ２３ｃに対し、読み出したシナリオテーブル３２及びナビゲート管理テーブル３１を引き渡す。仮想プロキシサーバ２３ｃは、これらのテーブル３１、３２を受けて、ウェブサーバ装置１０へのアクセスを開始する。
【００６９】
図８及び図９は、仮想プロキシサーバ２３ｃによるシミュレーション実行時の処理の流れを示す図である。
【００７０】
処理開始後、仮想プロキシサーバ２３ｃ（に従ったＣＰＵ２０ｄ）は、第１の処理ループＬ１を実行する。第１の処理ループＬ１では、仮想プロキシサーバ２３ｃは、負荷シミュレータ２３ｂから引き渡されたシナリオテーブル３２の全てのレコードについて、一つずつ、順に、ステップＳ２０１乃至Ｓ２１０からなる処理を、実行する。
【００７１】
ステップＳ２０１では、仮想プロキシサーバ２３ｃは、処理対象レコードの「ナビゲーションＩＤ」フィールドの値を、変数ｎに代入する。
【００７２】
次のステップＳ２０２では、変数ｎの代入値が「１」であるか否かを、判別する。そして、変数ｎの代入値が「１」であった場合、仮想プロキシサーバ２３ｃは、ステップＳ２０２からステップＳ２０９へ処理を分岐させる。一方、変数ｎの代入値が「２」以上又は「−１」であった場合、仮想プロキシサーバ２３ｃは、ステップＳ２０３へ処理を進める。
【００７３】
ステップＳ２０３では、仮想プロキシサーバ２３ｃは、変数ｎの代入値が「−１」であるか否かを、判別する。そして、変数ｎの代入値が「−１」であった場合、仮想プロキシサーバ２３ｃは、ステップＳ２０３からステップＳ２０９へ処理を分岐させる。
【００７４】
ステップＳ２０９では、仮想プロキシサーバ２３ｃは、処理対象レコードの「リクエストヘッダ」及び「リクエストデータ」の各フィールドの値から、リクエストメッセージを生成し、試験対象のウェブサーバ装置１０へ送信する。その後、仮想プロキシサーバ２３ｃは、ウェブサーバ装置１０からレスポンスメッセージを受信すると、ステップＳ２１０へ処理を進める。
【００７５】
ステップＳ２１０では、仮想プロキシサーバ２３ｃは、ステップＳ２０８でウェブサーバ装置１０から受信したレスポンスメッセージを、それにアクセスＩＤを対応付けて、図示せぬワークテーブルに記録する。その後、仮想プロキシサーバ２３ｃは、第１の処理ループＬ１におけるこの処理対象レコードに対する処理を終了する。
【００７６】
一方、ステップＳ２０３において、変数ｎの代入値が「２」以上であった場合、仮想プロキシサーバ２３ｃは、ステップＳ２０４へ処理を進める。
【００７７】
ステップＳ２０４では、仮想プロキシサーバ２３ｃは、図６のナビゲート管理テーブル３１の中から、変数ｎの代入値と同じ値のナビゲートＩＤを持つレコードを、読み出す。
【００７８】
次のステップＳ２０５では、仮想プロキシサーバ２３ｃは、ステップＳ２０４で読み出したレコードの「ソースＩＤ」フィールドの値を、変数ｍに代入する。
【００７９】
次のステップＳ２０６では、仮想プロキシサーバ２３ｃは、図７のシナリオテーブル（アクセス管理テーブル）３２の中から、変数ｍの代入値と同じ値を「ナビゲートＩＤ」フィールドに持つレコードを、読み出す。
【００８０】
次のステップＳ２０７では、仮想プロキシサーバ２３ｃは、ステップＳ２０９でレスポンスメッセージが記録される図示せぬワークテーブルから、ステップＳ２０６で読み出したレコードの「アクセスＩＤ」フィールドの値と同じアクセスＩＤに対応付けられたレスポンスメッセージを、取得する。
【００８１】
次のステップＳ２０８では、仮想プロキシサーバ２３ｃは、ステップＳ２０７で取得したレスポンスメッセージの中から、パラメータ（パラメータ名、パラメータ値）を特定し、処理対象レコードの「リクエストヘッダ」及び「リクエストデータ」の各フィールドの値に含まれるパラメータ（パラメータ名＝パラメータ値）を、その特定したパラメータで更新する。その後、仮想プロキシサーバ２３ｃは、ステップＳ２０９へ処理を進める。
【００８２】
仮想プロキシサーバ２３ｃは、図７のシナリオテーブル３２の全てのレコードについて、ステップＳ２０１乃至Ｓ２１０からなる処理を、実行し終えると、第１の処理ループＬ１から離脱し、図８及び図９に係る処理を終了する。
【００８３】
本実施形態のコンピュータネットワークシステムが、以上に説明したように構成されるため、以下のように動作する。例えば、仮想プロキシサーバ２３ｃが、図７のシナリオテーブル３２における「アクセスＩＤ」フィールドの値が「４」であるレコードに係るリクエストメッセージを、ウェブサーバ装置１０に送信する場合、その送信の直前に、仮想プロキシサーバ２３ｃは、そのレコードの「ナビゲートＩＤ」フィールドと同じ値「２」を「ナビゲートＩＤ」フィールドに持つレコードを、図６のナビゲート管理テーブル３１から特定するとともに、更に、その特定したレコードの「ソースＩＤ」フィールドと同じ値「１」を「ナビゲートＩＤ」フィールドに持つレコードを、図７のシナリオテーブル３２から特定する（ステップＳ２０４〜Ｓ２０６）。そして、仮想プロキシサーバ２３ｃは、特定したレコードの「アクセスＩＤ」フィールドの値「１」と同じアクセスＩＤに対応するレスポンスメッセージを、そのリクエストメッセージの送信前に既に受信しているレスポンスメッセージの中から取得する（ステップＳ２０７）。そして、仮想プロキシサーバ２３ｃは、取得したレスポンスメッセージ内のレスポンスパラメータで、ウェブサーバ装置１０に送信しようとするリクエストメッセージのリクエストパラメータを更新し（ステップＳ２０８）、ウェブサーバ装置１０へ送信する（ステップＳ２０９）。
【００８４】
このように、本実施形態のウェブ負荷試験装置２０により生成されたシナリオテーブル３２とナビゲート管理テーブル３１とによれば、仮想プロキシサーバ２３ｃは、図７のシナリオテーブル３２においてアクセスＩＤが「４」であるレコードと「１」であるレコードとの間に幾つかレコードが存在していても、アクセスＩＤ「４」に対応するリクエストメッセージのリクエストパラメータに対して上書きすべきパラメータを含んでいるレスポンスメッセージを、的確に特定することができる。
【００８５】
また、例えば、シナリオ作成時にウェブブラウザ２２からファイルアップロードがあった場合でも、ナビゲート管理テーブル３１には、前述したように、ウェブブラウザ２２から引き渡されるブラウザ情報のデータしか登録されないため、仮想プロキシサーバ２３ｃがこのナビゲート管理テーブル３１をそのままシナリオとして使用してしまうと、ファイルアップロードが正常に行われないこととなってしまう。しかし、本実施形態によれば、ナビゲート管理テーブル３１において、ウェブブラウザ２２から引き渡されたデータが、仮想プロキシサーバ２３ｃから引き渡されるデータ（アップロードデータの内容を含んだデータ）と対応付けられるので（ステップＳ１１９）、ウェブブラウザ２２から引き渡されるデータのみでは再現できないファイルアップロードのような処理も、シミュレーションとして再現することが可能になる。
【００８６】
従って、本実施形態のウェブ負荷試験装置２０によれば、ウェブ負荷試験で負荷シミュレータ２３ｂにより生成される仮想プロキシサーバ２３ｃがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオが、作成できる。
【図面の簡単な説明】
【００８７】
【図１】本実施形態のコンピュータネットワークシステムの構成図
【図２】シナリオ作成時のウェブブラウザと仮想プロキシサーバとウェブサーバ装置との関係図
【図３】シナリオ作成モジュールによる処理の流れを示す図
【図４】シナリオ作成モジュールによる処理の流れを示す図
【図５】シナリオ作成モジュールによる処理の流れを示す図
【図６】ナビゲート管理テーブルのデータ構造の一例を示す図
【図７】アクセス管理テーブルのデータ構造の一例を示す図
【図８】仮想プロキシサーバによるシミュレーション実行時の処理の流れを示す図
【図９】仮想プロキシサーバによるシミュレーション実行時の処理の流れを示す図
【符号の説明】
【００８８】
１０    ウェブサーバ装置
１０ａ  ストレージユニット
１０ｂ  ＣＰＵ
１０ｃ  メモリユニット
１２    ウェブページデータ
１３    ウェブサーバプログラム
２０    ウェブ負荷試験装置
２０ｃ  ストレージユニット
２０ｄ  ＣＰＵ
２０ｅ  メモリユニット
２２    ウェブブラウザ
２３    ウェブ負荷試験ツールソフトウエア
２３ａ  シナリオ作成モジュール
２３ｂ  負荷シミュレータ
２３ｃ  仮想プロキシサーバ
３１    ナビゲート管理テーブル
３２    アクセス管理テーブル（シナリオテーブル）
【図１】
2008234279.tif 000003
【図２】
2008234279.tif 000004
【図３】
2008234279.tif 000005
【図４】
2008234279.tif 000006
【図５】
2008234279.tif 000007
【図６】
2008234279.tif 000008
【図７】
2008234279.tif 000009
【図８】
2008234279.tif 000010
【図９】
2008234279.tif 000011