(57)【要約】【課題】ウェブ負荷試験において大きなアクセス負荷を任意の時期に掛けられるようにできるウェブ負荷試験方法及びウェブ負荷試験プログラムを、提供する。【解決手段】負荷シミュレータ２２ａは、同期ポイントとして設定された順番のレスポンスメッセージを全ての仮想ウェブクライアント２０１，２０２，２０３，…が取得するまで、仮想ウェブクライアント２０１によるウェブサーバ装置１０へのアクセスを、中断させる。同期ポイントとして設定された順番のレスポンスメッセージを全ての仮想ウェブクライアント２０１，２０２，２０３，…が取得して、アクセスが再開されると、ウェブサーバ装置１０に高度の負荷が掛かる。各仮想ウェブクライアント２０１，２０２，２０３，…は、同期管理テーブル２１１ｂ内の設定に従って同期を取るため、そのテーブル２１１ｂ内の同期ポイントが、シナリオ内の別の順番に変更されれば、それに従うこととなる。【選択図】図２
2007265284.tif 000002
【特許請求の範囲】
【請求項１】
試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験方法であって、
コンピュータが、
前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，
前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能する
ことを特徴とするウェブ負荷試験方法。
【請求項２】
コンピュータが、
試験対象のウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，
前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能する
ことを特徴とするウェブ負荷試験方法。
【請求項３】
試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験プログラムであって、
コンピュータを、
前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，
前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能させる
ことを特徴とするウェブ負荷試験プログラム。
【請求項４】
前記待機手段は、前記全仮想ウェブクライアントのそれぞれについて、その仮想ウェブクライアントが既に受信しているレスポンスメッセージのうち最新のレスポンスメッセージの順番を到達点情報として記憶装置に記憶し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ったか否かを、その到達点情報に基づいて判断する
ことを特徴とする請求項３記載のウェブ負荷試験プログラム。
【請求項５】
コンピュータを、
試験対象のウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，
前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能させる
ことを特徴とするウェブ負荷試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験方法及びウェブ負荷試験プログラムに、関する。
【背景技術】
【０００２】
周知のように、ウェブ負荷試験装置は、試験対象となるウェブサーバ装置にアクセス負荷を掛けてそのウェブサーバ装置の状態を観察するため、負荷シミュレータ，及び、ビューワを、含んでいる。このうち、負荷シミュレータは、仮想的にウェブクライアントとして機能するスレッドを複数生成し、それら複数の仮想ウェブクライアントに対し、試験対象となるウェブサーバ装置内のページデータをリクエストする順番を定義したシナリオを与えて、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせことにより、各仮想ウェブクライアントがそのウェブサーバ装置から受けたレスポンスメッセージそのものを保存したりレスポンスのログを録ったりするための機能である。また、ビューワは、レスポンスのログ情報を一覧表示するための機能である。
【０００３】
そして、従来のウェブ負荷試験装置の中には、特定のページデータを試験対象のウェブサーバ装置へ取りに行くときの時期を各スレッドで揃えさせることができるものがある。この従来のウェブ負荷試験装置によれば、特定のページデータを同時に取りに行かせることにより、負荷試験の途中で大きな負荷をウェブサーバ装置に掛けることができる。
【０００４】
【特許文献１】特開２００４−０２１５２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のウェブ負荷試験装置は、大きな負荷を掛ける時期を予めプログラムしておかねばならず、負荷試験の途中の任意の時期に大きなアクセス負荷を掛けることができなかった。
【０００６】
本発明は、前述したような従来の事情に鑑みてなされたものであり、その課題は、ウェブ負荷試験において、大きなアクセス負荷を任意の時期に掛けられるようにすることにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するための案出されたウェブ負荷試験方法の第一の態様は、試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験方法であって、コンピュータが、前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段として機能することを、特徴としている。
【０００８】
このように構成されると、仮想ウェブクライアントによるウェブサーバ装置へのアクセスは、同期ポイントとして設定された順番のレスポンスメッセージを全ての仮想ウェブクライアントが取得するまで、中断されることとなる。そして、同期ポイントとして設定された順番のレスポンスメッセージを全ての仮想ウェブクライアントが取得して、アクセスが再開されると、ウェブサーバ装置に高度の負荷が掛かることとなる。また、各仮想ウェブクライアントは、記憶装置に設定されている同期ポイントに従って、同期を取るため、記憶装置内に設定されている同期ポイントが、シナリオ内の別の順番に変更されれば、それに従うこととなる。従って、負荷試験の最中でも、同期ポイントを変更することができる。
【０００９】
また、上記の課題を解決するために案出されたウェブ負荷試験方法の第二の態様は、コンピュータが、前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段として機能することを、特徴としている。
【００１０】
このように構成されると、各負荷シミュレータは、同期ポイントとして設定された順番のレスポンスメッセージを全ての仮想ウェブクライアントが取得するまで、シナリオに従った各仮想ウェブクライアントのウェブサーバ装置へのアクセスを、中断することとなる。そして、同期ポイントとして設定された順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが取得して、各負荷シミュレータにおける各仮想ウェブクライアントによるアクセスが再開されると、ウェブサーバ装置に高度の負荷が掛かることとなる。また、各負荷シミュレータは、記憶装置に設定されている同期ポイントに従って、各仮想ウェブクライアントの同期を取るため、記憶装置内に設定されている同期ポイントが、シナリオ内の別の順番に変更されれば、それに従うこととなる。従って、負荷試験の最中でも、同期ポイントを変更することができる。
【００１１】
また、上記の課題を解決するために案出されたウェブ負荷試験プログラムの第一の態様は、試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験プログラムであって、コンピュータを、前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段として機能させることを、特徴としている。
【００１２】
従って、このウェブ負荷試験プログラムの第一の態様は、前述した本発明のウェブ負荷試験方法の第一の態様を実現する装置としてコンピュータを動作させることができることになる。
【００１３】
また、上記の課題を解決するために案出されたウェブ負荷試験プログラムの第二の態様は、コンピュータを、前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段として機能させることを、特徴としている。
【００１４】
従って、このウェブ負荷試験プログラムの第二の態様は、前述した本発明のウェブ負荷試験方法の第二の態様を実現する装置としてコンピュータを動作させることができることになる。
【発明の効果】
【００１５】
以上に説明したように、本発明によれば、ウェブ負荷試験において、大きなアクセス負荷を任意の時期に掛けられるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
【００１７】
図１は、本実施形態のウェブ負荷試験の対象となるウェブサーバ装置１０とその試験を実行するウェブ負荷試験装置２０の構成図である。
【００１８】
ウェブサーバ装置１０は、周知のように、ウェブサーバ機能が実現された装置であり、より具体的には、ウェブサーバ機能を実現するためのプログラムを汎用のコンピュータに導入してなる装置である。このウェブサーバ装置１０を構成するコンピュータは、ＣＰＵ［Central Processing Unit］１０ａ，ＤＲＡＭ［Dynamic Random Access Memory］１０ｂ，通信アダプタ１０ｃ，ストレージ１０ｄ等のハードウエアを内蔵しており、ストレージ１０ｄは、通信アダプタ１０ｃにおけるデータの入出力の管理や、ＤＲＡＭ１０ｄやストレージ１０ｄの記憶領域の管理といった基本的な機能を多くのアプリケーションソフトウエアに提供するための基本ソフトウエア１１を、記憶している。
【００１９】
そして、ウェブサーバ装置１０のストレージ１０ｄは、汎用のコンピュータをウェブサーバ装置として機能させるためのプログラム及びデータとして、ウェブサーバプログラム１２及びページデータ１３を、記憶している。ウェブサーバプログラム１２は、図示せぬウェブクライアント装置からの要求を受けると、要求されたページデータを内部の記憶装置から読み出し、或いは、生成して、通信アダプタ１０ｃを通じて要求元のウェブクライアント装置へ送信するためのプログラムである。ページデータ１３は、ウェブページを表示するためのＨＴＭＬ［HyperText Markup Language］データである。このページデータ１３は、その内部に、別のウェブページへ飛ぶためのリンクを表示する情報を含んでいても良く、また、サーバサイドプログラム又はクライアントサイドプログラムなどを含んでいても良い。
【００２０】
ウェブ負荷試験装置２０は、試験対象のウェブサーバ装置１０についてウェブ負荷試験を行うための装置である。このウェブ負荷試験装置２０は、ウェブ負荷試験ツール機能を実現するためのプログラムを一般的なパーソナルコンピュータに導入してなる装置である。従って、このウェブ負荷試験装置２０を構成するパーソナルコンピュータは、周知のように、液晶ディスプレイ等の表示装置２０ａと、キーボードやマウス等の入力装置２０ｂと、これら装置２０ａ，２０ｂに接続される本体とからなる。また、その本体は、通信アダプタ２０ｃ，ＣＰＵ２０ｄ，ＤＲＡＭ２０ｅ，ストレージ２０ｆ等のハードウエアを内蔵しており、ストレージ２０ｆは、基本ソフトウエア２１を記憶している。
【００２１】
そして、ウェブ負荷試験装置２０は、パーソナルコンピュータをウェブ負荷試験装置として機能させるためのプログラム及びデータとして、ウェブ負荷試験ツール（プログラム）２２を、記憶している。ウェブ負荷試験ツール２２は、基本的に、負荷シミュレータ２２ａ，ビューワ２２ｂのモジュールプログラム（コンポーネント）を、含んでいる。
【００２２】
負荷シミュレータ２２ａは、試験対象となるウェブサーバ装置にアクセス負荷を掛けるためのモジュールである。なお、この負荷シミュレータ２２ａについては、後で詳しく説明する。また、ビューワ２２ｂは、レスポンスメッセージ内のページデータに基づいてウェブページを表示したり、レスポンスのログ情報を一覧表示したりするための機能である。
【００２３】
さらに、このウェブ負荷試験ツール２２は、同期監視モジュール２２ｃをも含んでいる。この同期監視モジュール２２ｃについても、後で詳しく説明する。
【００２４】
次に、本実施形態の負荷シミュレータ２２ａによる機能について、詳しく説明する。  
【００２５】
図２は、この負荷シミュレータ２２ａの機能構成図である。
【００２６】
図２に示されるように、負荷シミュレータ２２ａは、内部に、仮想的にウェブクライアントとして機能するスレッド２０１，２０２，２０３，…を複数生成し、それら複数の仮想ウェブクライアントに対し、試験対象となるウェブサーバ装置１０内のページデータ１３をリクエストする順番を定義したシナリオを与えて、そのシナリオ通りにリクエストを行わせることにより、各仮想ウェブクライアント２０１，２０２，２０３，…がそのウェブサーバ装置１０から受けたレスポンスメッセージそのものを保存したりレスポンスのログを録ったりする。
【００２７】
また、この負荷シミュレータ２２ａは、これらスレッド２０１，２０２，２０３，…を生成した後、それらの同期ポイントと進行状態とを管理するためのスレッド管理スレッド２１１も生成する。このスレッド管理スレッド２１１は、各スレッド２０１，２０２，２０３，…の進行状態を管理するために、到達点管理テーブル２１１ａを有している。到達点管理テーブル２１１ａは、各スレッドに一意に割り当てられているスレッドＩＤ［Identification］と到達点としての最新アクセス完了ページの番号とを対応付けたレコードを、スレッドの数だけ蓄積している。また、スレッド管理スレッド２１１は、各スレッド２０１，２０２，２０３，…の同期ポイントを管理するために、同期管理テーブル２１１ｂを有している。同期管理テーブル２１１ｂは、負荷試験で使用される各ページデータに一意に割り当てられているページＩＤとそのウェブページでの同期の要否を示す同期フラグとを対応付けたレコードを、ページデータの数だけ蓄積している。
【００２８】
さらに、負荷シミュレータ２２ａは、スレッド管理スレッド２１１が有している同期管理テーブル２１１ｂの同期フラグの切り替え操作を行うためのテーブル更新用スレッド２１２も、生成する。
【００２９】
図３は、同期ポイント設定画面３１の一例を示す図である。
【００３０】
図３に示されるように、同期ポイント設定画面３１は、ページ番号が各行に選択自在に列挙されるページ欄３１ａ，同期ポイントに設定予定のウェブページのページ番号が選択自在に示される同期ポイント欄３１ｂ，ページ欄３１ａで選択されたページ番号を同期ポイント欄３１ｂに追加するための追加ボタン３１ｃ，同期ポイント欄３１ｂ内からページ番号を削除するための解除ボタン３１ｄ，同期ポイント設定作業を止めるためのキャンセルボタン３１ｅ，及び、同期ポイント欄３１ｂ内のページ番号のウェブページを同期ポイントとして設定するためのＯＫボタン３１ｆを、含んでいる。
【００３１】
テーブル更新用スレッド２１２は、同期ポイント設定画面３１のＯＫボタン３１ｆがクリックされたとき、同期ポイント欄３１ｂに示されていたページ番号のウェブページを同期ポイントとして設定するため、スレッド管理スレッド２１１が有する同期管理テーブル２１１ｂにおける該当するページ番号の同期フラグを要（ＯＮ）に設定し、残りのページ番号の同期フラグを否（ＯＦＦ）に設定する。
【００３２】
従って、この負荷シミュレータ２２ａを実行するＣＰＵ２０ｄは、前述した仮想ウェブクライアント生成手段，前述した記憶手段，及び、前述した書換手段に相当している。
【００３３】
次に、本実施形態において仮想ウェブクライアントとして生成されるスレッド２０１，２０２，２０３，…が行う処理について、説明する。
【００３４】
図４は、仮想ウェブクライアントとして生成されたスレッド２０１（２０２，２０３，…）が実行する処理の流れを示す図である。
【００３５】
処理の開始後、最初のステップＳ１０１において、スレッド２０１（を実行するＣＰＵ２０ｄ）は、負荷シミュレータ２２ａからシナリオを受け取る処理を行う。なお、シナリオは、仮想ウェブクライアントがウェブ負荷試験で送信する幾つかのリクエストメッセージからなるとともに、それらの送信順を定義したデータである。このシナリオに含まれるリクエストメッセージ内のＵＲＬ［Uniform Resource Locator］は、何れも、試験対象となるウェブサーバ装置１０のページデータ１３に割り当てられているものとなっている。
【００３６】
次のステップＳ１０２では、スレッド２０１は、負荷シミュレータ２２ａからウェブ負荷試験の開始指示があるまで待機する。そして、ウェブ負荷試験の開始指示があると、スレッド２０１は、ステップＳ１０３へ処理を進める。
【００３７】
ステップＳ１０３では、スレッド２０１は、シナリオの使用回数を覚えておくための変数ｎに初期値の１を代入する処理を行い、その後、第１の処理ループＬ１を実行する。
【００３８】
第１の処理ループＬ１では、スレッド２０１は、ステップＳ１０１で取得したシナリオ内の各リクエストメッセージの一つ一つについて、ステップＳ１１１乃至Ｓ１１４を順に実行する。
【００３９】
ステップＳ１１１では、スレッド２０１は、処理対象リクエストメッセージを送信する処理を行う。
【００４０】
次のステップＳ１１２では、スレッド２０１は、宛先からの応答として、レスポンスメッセージを受信するまで、待機する。そして、レスポンスメッセージを受信すると、スレッド２０１は、ステップＳ１１３へ処理を進める。
【００４１】
ステップＳ１１３では、スレッド２０１は、受信したレスポンスメッセージに所定の属性情報を付してこれを保存する処理を行う。属性情報には、例えば、スレッドＩＤ，実行回数，シナリオ内の当該リクエストに対応するページ番号，ＵＲＬ，受信時刻などがある。
【００４２】
次のステップＳ１１４では、スレッド２０１は、同期サブルーチンを実行する。
【００４３】
図５は、同期サブルーチンの流れを示す図である。
【００４４】
同期サブルーチンの開始後、最初のステップＳ１６１では、スレッド２０１は、スレッド管理スレッド２１１に、ステップＳ１１１で送信したリクエストメッセージに対応するページ番号を、到達点情報として通知する処理を行う。なお、この通知を受けたスレッド管理スレッド２１１は、到達点管理テーブル２１１ａにおける当該スレッド２０１のレコードの「到達点」フィールドの値を１繰り上げる処理を行う。
【００４５】
次のステップＳ１６２では、スレッド２０１は、スレッド管理スレッド２１１に到達点情報として通知したページ番号が、同期ポイントに設定されているか否かを、判別する。具体的には、スレッド２０１は、スレッド管理スレッド２１１が有する同期管理テーブル２１１ｂにおける当該ページ番号のレコードの同期フラグの要否を確認する。
【００４６】
そして、到達点のページ番号が同期ポイントに設定されていた場合、スレッド２０１は、ステップＳ１６２からステップＳ１６３へ処理を分岐させる。
【００４７】
そのステップＳ１６３では、スレッド２０１は、スレッド管理スレッド２１１から再開通知があるまで待機する。なお、スレッド管理スレッド２１１は、到達点管理テーブル２１１ａ内の全てのレコードの「到達点」フィールドの値がこのページ番号となったときに、再開通知を全てのスレッド２０１，２０２，２０３，…に配信するようになっている。そして、再開通知があると、スレッド２０１は、図５に係る同期サブルーチンを終えるとともに、処理対象のリクエストメッセージに対する処理も終える。
【００４８】
従って、スレッドとしてこのステップＳ１６３を実行するＣＰＵ２０ｄは、前述した待機手段に相当している。また、到達点管理テーブル２１１ａ内の全てのレコードの到達点が同期ポイントに一致したときに再開通知を配信する処理をスレッド管理スレッドとして行うＣＰＵ２０ｄは、前述した再開手段に相当している。
【００４９】
また、ステップＳ１６２において、到達点のページ番号が同期ポイントに設定されていなかった場合、スレッド２０１は、ステップＳ１６２から処理を分岐させて、再開通知を待つことなく、図５に係る同期サブルーチンを終えるとともに、処理対象のリクエストメッセージに対する処理も終える。
【００５０】
スレッド２０１は、ステップＳ１０１で取得したシナリオ内のリクエストメッセージの全てについて、ステップＳ１１１乃至Ｓ１１４を実行し終えると、第１の処理ループＬ１から離脱し、ステップＳ１２１へ処理を進める。
【００５１】
ステップＳ１２１では、スレッド２０１は、変数ｎの代入値を１繰り上げる処理を行う。  
【００５２】
次のステップＳ１２２では、スレッド２０１は、変数ｎの代入値が所定の上限値を超過しているか否かを、判別する。
【００５３】
そして、変数ｎの代入値が所定の上限値を超過していなかった場合、スレッド２０１は、ステップＳ１２２から処理を分岐させ、第１の処理ループＬ１の実行を開始する。
【００５４】
一方、変数ｎの代入値が所定の上限値を超過していた場合、スレッド２０１は、ステップＳ１２２から処理を分岐させ、図２に係る処理を終了する。
【００５５】
次に、本実施形態の負荷シミュレータ２２ａによる作用及び効果について説明する。
【００５６】
利用者が、入力装置２０ｂを操作することによって、ウェブ負荷試験ツール２２を起動して、負荷試験を開始させると、仮想ウェブクライアントとして機能する複数のスレッド２０１，２０２，２０３，…が生成され、それらスレッド２０１，２０２，２０３，…が、所定のシナリオに従ってウェブサーバ装置１０にアクセス負荷を掛ける。
【００５７】
この負荷試験を行っている最中に、利用者が、同期ポイント設定画面３１を表示装置２０ａに表示させ、どのスレッド２０１，２０２，２０３，…も到達していないページのうちの何れかを、同期ポイントとして設定する。すると、同期管理テーブル２１１ｂにおけるそのページの同期フラグが要（ＯＮ）に切り替わる。各スレッド２０１，２０２，２０３，…は、ウェブサーバ装置１０にアクセス負荷を掛けている最中に、このページに到達すると、全てのスレッド２０１，２０２，２０３，…がこのページに到達するまで待機し、全てのスレッド２０１，２０２，２０３，…がこのページ到達すると、アクセス負荷試験が再開される。これにより、負荷試験の最中に、ウェブサーバ装置１０に高度の負荷を掛けることができることとなる。
【００５８】
次に、本実施形態の同期監視モジュール２２ｃによる機能について、詳しく説明する。
【００５９】
図６は、この同期監視モジュール２２ｃの機能構成図である。
【００６０】
図６に示されるように、負荷シミュレータ２２ａとして機能するプロセスは、試験の内容によっては、複数生成されることがあり、同期監視モジュール２２ｃは、これら複数の負荷シミュレータ２２ａの進行状態を監視するためのモジュールである。なお、負荷シミュレータ２２ａを複数生成する処理を行うＣＰＵ２０ｄは、前述した負荷シミュレータ生成手段に相当している。
【００６１】
同期監視モジュール２２ｃは、各負荷シミュレータ２２ａの進行状態を管理するために、到達点管理テーブル２２１を有している。到達点管理テーブル２２１は、各負荷シミュレータ２２ａに一意に割り当てられているプロセスＩＤと到達点としての最新アクセス完了ページの番号とを対応付けたレコードを、プロセスの数だけ蓄積している。また、同期監視モジュール２２ｃは、各負荷シミュレータ２２ａの同期ポイントを管理するために、同期管理テーブル２２２を有している。同期管理テーブル２２２は、図２に示したもの同じである。すなわち、同期管理テーブル２２２は、負荷試験で使用される各ページデータに一意に割り当てられているページＩＤとそのウェブページでの同期の要否を示す同期フラグとを対応付けたレコードを、ページデータの数だけ蓄積している。
【００６２】
なお、負荷シミュレータ２２ａは、同期監視モジュール２２ｃが起動しているときには、その同期監視モジュール２２ｃ内の同期管理テーブル２２２を監視し、同期フラグが要（ＯＮ）に設定されているページ番号があれば、自己のスレッド管理スレッド２１１が有する同期管理テーブル２１１ｂにおける同じページ番号の同期フラグを要（ＯＮ）に切り替える。そして、負荷シミュレータ２２ａは、内部のスレッドがそのページ番号のウェブページに到達しても、再開通知を出すことなく、全てのスレッドを待機させ、同期監視モジュール２２ｃに待機中のページ番号を通知する。
【００６３】
同期監視モジュール２２ｃは、各負荷シミュレータ２２ａからページ番号が通知されると、それを内部の到達点管理テーブル２２１に記録し、全ての負荷シミュレータ２２ａの到達点が、同期管理テーブル２２２で規定される同期ポイントに一致したところで、全ての負荷シミュレータ２２ａに解放通知を配信する。
【００６４】
各負荷シミュレータ２２ａは、同期監視モジュール２２ｃからの解放通知を受けると、内部の各スレッドに再開通知を配信する。
【００６５】
従って、同期監視モジュール２２ｃを実行するＣＰＵ２０ｄは、前述した記憶手段，前述した待機手段，前述した再開手段に相当している。
【００６６】
次に、本実施形態の同期監視モジュール２２ｃによる作用及び効果について説明する。
【００６７】
利用者が、入力装置２０ｂを操作することによって、ウェブ負荷試験ツール２２を起動した後、複数の負荷シミュレータ２２ａと同期監視モジュール２２ｃとを動作させて、負荷試験を開始させる。すると、各負荷シミュレータ２２ａは、自分の与えられたシナリオに従ってウェブサーバ装置１０にアクセス負荷を掛ける。
【００６８】
この負荷試験を行っている最中に、利用者が、同期監視モジュール２２ｃのテーブル更新用スレッド２２３により図示せぬ同期ポイント設定画面を表示装置２０ａに表示させ、どの負荷シミュレータ２２ａも到達していないページ番号のうちの何れかを、同期ポイントのページ番号として設定する。すると、同期管理テーブル２２２におけるそのページ番号の同期フラグが要（ＯＮ）に切り替わる。各負荷シミュレータ２２ａは、ウェブサーバ装置１０にアクセス負荷を掛けている最中に、このページ番号のウェブページに到達すると、全ての負荷シミュレータ２２ａがこのページ番号のウェブページに到達するまで待機し、全ての負荷シミュレータ２２ａがこのページ番号のウェブページに到達すると、アクセス負荷試験が再開される。これにより、負荷試験の最中に、ウェブサーバ装置１０に高度の負荷を掛けることができることとなる。
【００６９】
ここで、各負荷シミュレータ２２ａが使用するシナリオは、互いに異なるものであっても良い。同期管理テーブル２１１ｂでは、同期ポイントをページ番号にて指定しているため、同じページ番号のウェブページで待機することとなった場合でも、各負荷シミュレータ２２ａが到達しているウェブページが全く異なることもある。
【００７０】
なお、テーブル更新用スレッド２２３として同期管理テーブル２２２内の同期フラグを切り替える処理を実行するＣＰＵ２０ｄは、前述した書換手段に相当している。
【００７１】
（付記１）
試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験方法であって、
コンピュータが、
前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，
前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能する
ことを特徴とするウェブ負荷試験方法。
【００７２】
（付記２）
コンピュータが、
試験対象のウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，
前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能する
ことを特徴とするウェブ負荷試験方法。
【００７３】
（付記３）
試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験プログラムであって、
コンピュータを、
前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，
前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能させる
ことを特徴とするウェブ負荷試験プログラム。
【００７４】
（付記４）
前記待機手段は、前記全仮想ウェブクライアントのそれぞれについて、その仮想ウェブクライアントが既に受信しているレスポンスメッセージのうち最新のレスポンスメッセージの順番を到達点情報として記憶装置に記憶し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ったか否かを、その到達点情報に基づいて判断する
ことを特徴とする付記３記載のウェブ負荷試験プログラム。
【００７５】
（付記５）
コンピュータを、
試験対象のウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，
前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能させる
ことを特徴とするウェブ負荷試験プログラム。
【００７６】
（付記６）
試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験プログラムであって、
コンピュータを、
前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成手段，
前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能させるウェブ負荷試験プログラム
を格納したことを特徴とするコンピュータ可読媒体。
【００７７】
（付記７）
コンピュータを、
試験対象のウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成手段，
前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶装置に記憶する記憶手段，
前記全負荷シミュレータのそれぞれに対し、前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機手段，
前記記憶装置内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開手段，及び、
前記記憶装置内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換手段
として機能させるウェブ負荷試験プログラム
を格納したことを特徴とするコンピュータ可読媒体。
【００７８】
（付記８）
試験対象のウェブサーバ装置にアクセス負荷を掛けることによりレスポンスに関する情報を取得するためのウェブ負荷試験装置であって、
前記ウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って順に行う仮想ウェブクライアントを、複数生成する仮想ウェブクライアント生成部，
前記シナリオにより得られる複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶する記憶部，
前記記憶部内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取るまで、前記各仮想ウェブクライアントに対し、前記シナリオに従ったアクセスを中断させる待機部，
前記記憶部内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての仮想ウェブクライアントが受け取ると、前記シナリオに従ったアクセスを再開させる再開部，及び、
前記記憶部内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換部
を備えたことを特徴とするウェブ負荷試験装置。
【００７９】
（付記９）
試験対象のウェブサーバ装置との間でのリクエストメッセージの送信とレスポンスメッセージの受信とによるアクセスをシナリオに従って仮想ウェブクライアントに行わせる負荷シミュレータを、複数生成する負荷シミュレータ生成部，
前記各仮想ウェブクライアントが前記シナリオに従って得る複数のレスポンスメッセージのうち、同期ポイントとすべきレスポンスメッセージの前記シナリオ内での順番を特定する同期ポイント情報を、記憶する記憶部，
前記全負荷シミュレータのそれぞれに対し、前記記憶部内の同期ポイント情報にて示される順番のレスポンスメッセージをその負荷シミュレータの全ての仮想ウェブクライアントが受け取るまで、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを中断させる待機部，
前記記憶部内の同期ポイント情報にて示される順番のレスポンスメッセージを全ての負荷シミュレータの全ての仮想ウェブクライアントが受け取ると、前記全負荷シミュレータに対し、前記シナリオに従った前記各仮想ウェブクライアントによるアクセスを再開させる再開部，及び、
前記記憶部内に記憶される同期ポイント情報を、別のレスポンスメッセージを特定する同期ポイント情報に書き換える書換部
を備えることを特徴とするウェブ負荷試験装置。
【図面の簡単な説明】
【００８０】
【図１】本実施形態のウェブ負荷試験の対象となるウェブサーバ装置とその試験を実行するウェブ負荷試験装置の構成図
【図２】負荷シミュレータの機能構成図
【図３】同期ポイント設定画面の一例を示す図
【図４】仮想ウェブクライアントとして生成されたスレッドが実行する処理の流れを示す図
【図５】同期サブルーチンの流れを示す図
【図６】同期監視モジュール２２ｃの機能構成図
【符号の説明】
【００８１】
１０      ウェブサーバ装置
１２      ウェブサーバプログラム
１３      ページデータ
２０      ウェブ負荷試験装置
２０ａ    表示装置
２０ｂ    入力装置
２０ｄ    ＣＰＵ
２２      ウェブ負荷試験ツール
２２ａ    負荷シミュレータ
２２ｃ    同期監視モジュール
２０１    仮想ウェブクライアント
２１１    スレッド管理スレッド
２１１ａ  到達点管理テーブル
２１１ｂ  同期管理テーブル
２１２    テーブル更新用スレッド
２２１    到達点管理テーブル
２２２    同期管理テーブル
２２３    テーブル更新用スレッド
【図１】
2007265284.tif 000003
【図２】
2007265284.tif 000004
【図３】
2007265284.tif 000005
【図４】
2007265284.tif 000006
【図５】
2007265284.tif 000007
【図６】
2007265284.tif 000008