JP2014041463A - テスト装置及びテスト方法及びプログラム - Google Patents
テスト装置及びテスト方法及びプログラム Download PDFInfo
- Publication number
- JP2014041463A JP2014041463A JP2012183251A JP2012183251A JP2014041463A JP 2014041463 A JP2014041463 A JP 2014041463A JP 2012183251 A JP2012183251 A JP 2012183251A JP 2012183251 A JP2012183251 A JP 2012183251A JP 2014041463 A JP2014041463 A JP 2014041463A
- Authority
- JP
- Japan
- Prior art keywords
- test
- request
- log
- load
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】負荷モデル作成部(1−1)は、認証サーバ装置(60)におけるリクエストの受信履歴が、URLとリクエストの受信時刻との対により示される認証システムリクエストログ(8)を入力し、認証システムリクエストログ(8)の各URLを解析して各リクエストを複数のリクエスト種別のうちのいずれかに分類し、所定の単位時間ごとにリクエスト種別の単位で認証サーバ装置(60)におけるリクエスト受信数を集計する。負荷パラメータ算出部(1−2)は、テストツール(負荷テストコントローラ(4)及び負荷テストエージェント(5))のリクエスト送信性能と、認証システムリクエストログ(8)の集計結果とに基づき、テストパラメータとして、各テストツールが認証サーバ装置(60)に送信するリクエストの数とリクエストの送信タイミングを単位時間ごとにリクエスト種別の単位で指定する。
【選択図】図1
Description
テスト要件にあった負荷をかけるために、従来技術では、負荷テストツールの外部からパラメータを与えて、さまざまな負荷テストを実施する(例えば、特許文献1、特許文献2)。
特許文献1では、外部からのパラメータを変化させることでコンピュータシステムにかける負荷を変化させることが示唆されている。
また、特許文献2では、負荷試験において、外部からの条件を入力することで計算機に対して過負荷状態を発生させることが示唆されている。
テスト要件にあった負荷テストを実施するためには、各種パラメータを調整する必要がある。
従来の負荷テスト方式では、テスト実施者の経験や過去の試験実績をもとに、幾度となくテストを繰り返して、適切なパラメータを導き出している。
大規模な負荷テストを実施する際には、実際の負荷を発生させる負荷テストエージェントが多数必要であり、また、負荷テストエージェントを制御する負荷テストコントローラも複数必要となる。
テスト実施者は、負荷テストコントローラごとにパラメータ調整を行うが、パラメータ調整の複雑度は、個々の負荷テストコントローラが制御する負荷テストエージェントの数に比例する(負荷テストエージェントの数、負荷テストコントローラが動作するPC・サーバにより微調整が必要)。
このため、多数の負荷テストエージェント、複数の負荷テストコントローラを用いる大規模な負荷テストでは、パラメータ調整のために多大な時間が費やされる。
それぞれがクライアント装置をエミュレートする複数のテストツールから複数のリクエストをテスト対象サーバ装置に送信させて、前記テスト対象サーバ装置のテストを行うテスト装置であって、
各テストツールのリクエスト送信性能が示される性能情報を記憶する性能情報記憶部と、
クライアント装置から複数のリクエストを受信する稼動中サーバ装置で収集され、前記稼動中サーバ装置におけるリクエストの受信履歴が、リクエストを分類するための識別子であるリクエスト分類識別子とリクエストの受信時刻との対により示されるログデータを入力するログデータ入力部と、
前記ログデータに示される各リクエスト分類識別子を解析して複数のリクエスト種別のうちのいずれかに分類し、所定の単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数を集計し、単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数が示されるログ集約データを生成するログ集約部と、
前記ログ集約データに示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、前記性能情報に示される各テストツールのリクエスト送信性能とに基づき、テストパラメータとして、各テストツールが前記テスト対象サーバ装置に送信するリクエストの数とリクエストの送信タイミングを単位時間ごとにリクエスト種別の単位で指定するテストパラメータ指定部とを有することを特徴とする。
本実施の形態では、大規模な負荷テスト実施の際の負荷テストの調整のための時間を短縮する構成を説明する。
認証サーバ装置(60−1)、(60−2)、(60−3)は、それぞれテスト対象サーバ装置の例に相当する。
認証システム(6)は、業務システムA(7−1)、業務システムB(7−2)の認証・認可機能を統合している。
なお、認証サーバ装置(60−1)、(60−2)、(60−3)のそれぞれを区別する必要がない場合は、単に認証サーバ装置(60)と表記する。
各認証サーバ装置(60)は、クライアント装置から複数種のHTTP(HyperText Transfer Protocol)リクエストを受信し、受信したHTTPリクエストに応じた処理を行う。
図1では、認証システム(6)を構成する認証サーバ装置(60)は3台であるが、構成により、何台でもよい。
また、認証システム(6)を構成する要素として、認証するためのユーザ情報を管理する認証リポジトリ(61)、複数の認証サーバ装置(60)に対してHTTPリクエストの負荷分散を行う負荷分散装置(62)も備えている。
負荷テストコントローラ1(4−1)は、負荷テストエージェント1(5−1)、負荷テストエージェント2(5−2)を制御する。
負荷テストコントローラ2(4−2)は、負荷テストエージェント3(5−3)、負荷テストエージェント4(5−4)を制御する。
負荷テストコントローラ1(4−1)、負荷テストコントローラ2(4−2)は一般的な負荷テストツールのうちテストをコントロールするコンポーネントであり、ここでは、2台であるが、必要に応じて増やすことは可能であり、上限はない。
負荷テストエージェント1(5−1)、負荷テストエージェント2(5−2)、負荷テストエージェント3(5−3)、負荷テストエージェント4(5−4)も負荷テストツールのうち、実際に認証システムにHTTPリクエストの負荷をかけるコンポーネントであり、ここでは、4台であるが、必要に応じて増やすことができる。
負荷テストコントローラ1(4−1)、負荷テストエージェント1(5−1)、負荷テストエージェント2(5−2)は、クライアント装置をエミュレートし、認証サーバ装置(60)にHTTPリクエストを送信する。
負荷テストコントローラ1(4−1)、負荷テストエージェント1(5−1)、負荷テストエージェント2(5−2)で1つのテストツールを構成する。
同様に、負荷テストコントローラ2(4−2)、負荷テストエージェント3(5−3)、負荷テストエージェント4(5−4)も、クライアント装置をエミュレートし、認証サーバ装置(60)にHTTPリクエストを送信する。
負荷テストコントローラ2(4−2)、負荷テストエージェント3(5−3)、負荷テストエージェント4(5−4)で1つのテストツールを構成する。
なお、負荷テストコントローラ1(4−1)及び負荷テストコントローラ2(4−2)を区別する必要がない場合は、単に負荷テストコントローラ(4)と表記する。
同様に、負荷テストエージェント1(5−1)、負荷テストエージェント2(5−2)、負荷テストエージェント3(5−3)、負荷テストエージェント4(5−4)を区別する必要がない場合は、単に、負荷テストエージェント(5)と表記する。
また、負荷モデル作成部(1−1)は、入力した認証システムリクエストログ(8)を加工して、負荷モデル情報(3−3)を生成する。
認証システムリクエストログ(8)は、認証システム(6)の各認証サーバ装置(60)で収集されたログデータである。
認証システムリクエストログ(8)は、例えば、図19に例示するデータであり、認証サーバ装置(60)におけるHTTPリクエストの受信履歴がリクエスト受信時刻と各リクエストが対象とするURL(Uniform Resource Locator)との対により示されている。
なお、図19では、図示を省略しているが、認証システムリクエストログ(8)では、各行にHTTPリクエストの送信元のクライアント装置のアドレス情報や中継装置のアドレス情報が含まれていてもよい。
また、図19で示している「認証画面」、「認証要求(I/Dパスワード)」、「ポータル画面」は説明のための記述であり、実際の認証システムリクエストログ(8)に記述されているものではない。
後述するリクエスト種別情報(3−1)(図2)に示されるように、認証システムリクエストログ(8)の各URLは、HTTPリクエストを分類するための識別子でもあり、リクエスト分類識別子の例に相当する。
負荷モデル作成部(1−1)は、認証システムリクエストログ(8)の受信履歴を所定の単位時間(例えば、5分)ごとにリクエスト種別の単位で集計し、単位時間ごとにリクエスト種別の単位で認証サーバ装置(60)におけるリクエスト受信数が表される負荷モデル情報(3−3)を生成する。
生成された負荷モデル情報(3−3)は、負荷テスト制御情報DB(3)で保持される。
負荷モデル情報(3−3)は、図3に例示する情報である。
負荷モデル情報(3−3)の詳細は、後述する。
なお、認証システムリクエストログ(8)はログデータの例に相当し、負荷モデル情報(3−3)はログ集約データの例に相当する。
また、負荷モデル作成部(1−1)はログデータ入力部及びログ集約部の例に相当する。
例えば、新たなソフトウェアがインストールされた認証サーバ装置(60)が想定通りに動作するかを検証するために負荷テストを行う場合を想定している。
このため、本実施の形態では、認証サーバ装置(60)から認証システムリクエストログ(8)を取得することとしている。
しかし、認証システムリクエストログ(8)の取得先は、テスト対象の認証サーバ装置(60)でなくてもよい。
認証サーバ装置(60)と同様の動作をする、稼動中の他のサーバ装置から認証システムリクエストログ(8)を取得するようにしてもよい。
コントローラ情報(2−1)は、図5に例示する情報であり、エージェント情報(2−2)は、図6に例示する情報である。
コントローラ情報(2−1)及びエージェント情報(2−2)の詳細は後述するが、コントローラ情報(2−1)及びエージェント情報(2−2)は、テストツール(負荷テストコントローラ(4)、負荷テストエージェント(5))のHTTPリクエスト送信性能を示す情報であり、性能情報の例に相当する。
負荷パラメータ算出部(1−2)は、負荷モデル情報(3−3)に示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、コントローラ情報(2−1)及びエージェント情報(2−2)に示される各テストツールのリクエスト送信性能とに基づき、負荷パラメータ情報(3−4)を生成する。
負荷パラメータ情報(3−4)は、図4に例示する情報である。
負荷パラメータ情報(3−4)の詳細は後述するが、テストパラメータとして、各テストツールが認証サーバ装置(60)に送信するHTTPリクエストの数とHTTPリクエストの送信タイミングを単位時間ごとにリクエスト種別の単位で指定する情報である。
生成された負荷パラメータ情報(3−4)は、負荷テスト制御情報DB(3)で保持される。
なお、負荷パラメータ算出部(1−2)はテストパラメータ指定部の例に相当する。
負荷ツール情報DB(2)は、性能情報記憶部の例に相当する。
コントローラ情報(2−1)では、1つのレコードに1台の負荷テストコントローラ(4)の情報が記述されている。
「負荷テストコントローラNo」の欄には、負荷テストコントローラ(4)の識別番号が記述されている。
「コントローラホスト名」の欄には、負荷テストコントローラ(4)の名称が記述されている。
「エージェント台数」の欄には、負荷テストコントローラ(4)が使用できる負荷テストエージェント(5)の台数が記述されている。
また、「最大ユーザ実行数」の欄は、負荷テストコントローラ(4)が負荷テストエージェント(5)を用いて模擬できる最大のユーザ(クライアント装置)数が記述されている。
「最大ユーザ実行数」は、エージェント台数×1台あたりのユーザ実行数である。
1台あたりのユーザ実行数は、エージェントの動作するホストの性能による。
エージェント情報(2−2)は、図6に例示する情報である。
エージェント情報(2−2)でも、1つのレコードに1台の負荷テストエージェント(5)の情報が記述されている。
「負荷テストコントローラNo」の欄には、負荷テストエージェント(5)を管理する負荷テストコントローラ(4)の識別番号が記述されている。
「ホスト名」の欄には、負荷テストエージェント(5)の名称が記述されている。
「マルチIP」の欄には、負荷テストエージェント(5)が複数のユーザ(クライアント)を模擬することが可能か否かが記述されている。
「IP数」の欄には、負荷テストエージェント(5)が模擬できるユーザ(クライアント装置)数が記述されている。
換言すれば、「IP数」は、エージェントの動作するホストに割り当てたIPアドレスの数である。
「OS」の欄には、負荷テストエージェント(5)が利用するOS(Operating System)の種別が記述されている。
「多重度」の欄には、負荷テストエージェント(5)が同時並行して模擬可能な1秒あたりのユーザ(クライアント装置)数が記述されている。
なお、本実施の形態では、1ユーザ(クライアント装置)につき所定数(例えば、200個)のHTTPリクエストを送信することとしている。
このため、コントローラ情報(2−1)の「最大ユーザ実行数」及びエージェント情報(2−2)の「IP数」、「多重度」は、テストツールにおけるHTTPリクエストの送信性能を表している。
また、コントローラ情報(2−1)及びエージェント情報(2−2)は、負荷モデル作成部(1−1)が認証システムリクエストログ(8)を入力する前から負荷ツール情報DB(2)に存在している。
「リクエスト種別」の欄には、URLが関係しているアプリケーションの種類が示される。
図2の例では、「共通」アプリケーション、「業務」アプリケーション、「認証」アプリケーションが示されている。
負荷モデル作成部(1−1)は、入力した認証システムリクエストログ(8)に示されるURLとリクエスト種別情報(3−1)を照合して、認証システムリクエストログ(8)の各HTTPリクエストがどのリクエスト種別(アプリケーション)を対象としているのかを判断することができる。
例えば、図2の1行目のURLが含まれるHTTPリクエストが認証システムリクエストログ(8)に記述されている場合は、負荷モデル作成部(1−1)は、当該HTTPリクエストが「共通」アプリケーションの実行のためのリクエストであると判断することができる。
リクエスト種別情報(3−1)は、負荷モデル作成部(1−1)が認証システムリクエストログ(8)を入力する前から負荷テスト制御情報DB(3)に存在している。
HTTPリクエスト数とは、ピークの負荷を継続的に発生させる場合の1秒あたりのHTTPリクエストの数である。
また、利用ユーザ数は、負荷テストで模擬されるユーザ数である。
なお、負荷要件情報(3−2)の図示は省略している。
また、負荷要件情報(3−2)も、負荷モデル作成部(1−1)が認証システムリクエストログ(8)を入力する前から負荷テスト制御情報DB(3)に存在している。
「モデル名」の欄には、負荷モデルの種別を一意に決める値が記述される。
「時刻(分)」の欄には、テストの単位時間が記述される。
「モデル名:PEAK」の場合は、1時間(00−60)が単位時間であり、「モデル名:REAL」では、5分(00−05等)が単位時間である
「HTTP数/秒」の欄には、単位時間において認証サーバ装置(60)に送信する毎秒当たりのHTTPリクエストの数が記述される。
「認証(%)」、「共通(%)」及び「業務(%)」は、リクエスト種別情報(3−1)(図2)の「リクエスト種別」に対応しており、「HTTP数/秒」に示すリクエスト数の内訳をパーセンテージで表している。
例えば、図3の2行目では、「HTTP数/秒」100個のうち、「認証」は5%を占め、「共通」は90%を占め、「業務」は5%を占めることが示されている。
すなわち、1時間(00−60分)の間、毎秒5000個のHTTPリクエストを認証サーバ装置(60)に送信するという負荷テストのモデルである。
そして、毎秒5000個のHTTPリクエストのうち0.3%を「認証」についてのHTTPリクエストとし、70%を「共通」についてのHTTPリクエストとし、29.7%を「業務」についてのHTTPリクエストとすることが指定されている。
「モデル名:REAL」は実際に近い負荷モデルである。
すなわち、最初の5分間は毎秒100個のHTTPリクエストを認証サーバ装置(60)に送信し、次の5分間は毎秒500個のHTTPリクエストを認証サーバ装置(60)に送信し、以降も、5分ごとに、対応する「HTTP数/秒」分のHTTPリクエストを認証サーバ装置(60)に送信するという負荷テストのモデルである。
そして、最初の5分間は毎秒100個のHTTPリクエストのうち5%を「認証」についてのHTTPリクエストとし、90%を「共通」についてのHTTPリクエストとし、5%を「業務」についてのHTTPリクエストとし、次の5分間は毎秒500個のHTTPリクエストのうち3%を「認証」についてのHTTPリクエストとし、85%を「共通」についてのHTTPリクエストとし、12%を「業務」についてのHTTPリクエストとし、以降も、5分ごとに、「認証(%)」、「共通(%)」及び「業務(%)」の比率に従うことが指定されている。
「モデル名:REAL」については、負荷モデル作成部(1−1)が認証システムリクエストログ(8)に示される受信履歴を単位時間(5分)ごとに解析し、単位時間ごとにリクエスト受信数を集計して、負荷モデル情報(3−3)の各レコードを生成する。
図3では、認証サーバ装置(60)における総リクエスト受信数が「HTTP数/秒」の欄に記述され、総リクエスト受信数のリクエスト種別ごとの内訳がパーセントにて示されているが、実質的には、リクエスト種別ごとに認証サーバ装置(60)におけるリクエスト受信数を示していると言える。
なお、以下では、「モデル名:REAL」に基づく負荷テストについて主に説明を行う。
「シナリオNo」及び「枝番」は、レコードを一意に定めるためのキーである。
なお、共通の「シナリオNo」が設定されている複数のレコードは、負荷モデル情報(3−3)(図3)内の共通の単位時間のレコードから生成されている。
「シナリオNo:S1」が設定されている4つのレコードは、例えば、負荷モデル情報(3−3)の2行目のレコード(モデル名:REAL、時刻(分):00―05)から生成されている。
「負荷テストコントローラNo」の欄には、各レコードが対象としている負荷テストコントローラ(4)の識別番号が記述される。
図4の例では、負荷テストコントローラ(4)が設置されていることを前提としている。
「ユーザ実行間隔」の欄には、負荷テストエージェント(5)においてユーザの処理を実行する間隔(単位はミリ秒)が記述されている。
つまり、「ユーザ実行間隔」は、負荷テストエージェント(5)がi番目のユーザ(クライアント装置)のリクエスト送信を開始してから、(i+1)番目のユーザのリクエスト送信を開始するまでの間隔であり、HTTPリクエストの送信タイミングが規定されている。
「ユーザ実行数」の欄には、負荷テストコントローラ(4)が該当する単位時間において模擬するユーザ(クライアント装置)数が記述されている。
前述のように、1ユーザが送信するHTTPリクエスト数は決まっているので、「ユーザ実行数」により単位時間内に送信するHTTPリクエストの個数が規定されている。
「エージェントリスト」の欄には、負荷テストコントローラ(4)の配下にある、認証サーバ装置(60)にHTTPリクエストを送信する負荷テストエージェント(5)の識別子(ホスト名)が列挙される。
なお、本実施の形態では、リクエスト種別ごとに、HTTPリクエストの送信を制御する負荷テストコントローラ(4)が決められているものとする。
例えば、リクエスト種別「共通」に分類されるHTTPリクエストの送信を制御するのは、図5の「ctrlhost01」及び「ctrlhost02」、リクエスト種別「業務」に分類されるHTTPリクエストの送信を制御するのは「ctrlhost03」、リクエスト種別「認証」に分類されるHTTPリクエストの送信を制御するのは「ctrlhost04」というように、リクエスト種別ごとに分担が予め決められているものとする。
このため、「ctrlhost01」(負荷テストコントローラNo:1)が対象である1行目のレコードには、リクエスト種別「共通」に分類されるHTTPリクエストの送信数(「ユーザ実行数」)と、送信タイミング(「ユーザ実行間隔」)が記述されている。
2行目以降のレコードにおいても、同様に、対応するリクエスト種別のHTTPリクエストの送信数(「ユーザ実行数」)と、送信タイミング(「ユーザ実行間隔」)が記述されている。
以降、このテスト装置に言及する際には、「テスト装置100」と表記する。
なお、図1では、テスト装置100を構成する負荷モデル作成部(1−1)、負荷パラメータ算出部(1−2)及び負荷ツール情報DB(2)が、負荷テスト実行部(1−3)、負荷テスト制御情報DB(3)及び負荷テストコントローラ(4)と同じコンピュータに実装されている例を示しているが、負荷モデル作成部(1−1)、負荷パラメータ算出部(1−2)及び負荷ツール情報DB(2)と、負荷テスト実行部(1−3)、負荷テスト制御情報DB(3)及び負荷テストコントローラ(4)とが、別のコンピュータに実装され、相互に通信を行って、以下に示す処理を行うようにしてもよい。
まず、負荷モデル作成部(1−1)による負荷モデル生成の動作について説明する(図7)。
図7では、負荷モデル作成部(1−1)は、認証システムリクエストログ(8)に示されるURLを解析して、HTTPリクエストをリクエスト種別に分類し、単位時間ごとにリクエスト種別の単位で認証サーバ装置(60)におけるリクエスト受信数を集計する。
そして、負荷モデル作成部(1−1)は、単位時間ごとにリクエスト種別の単位で認証サーバ装置(60)におけるリクエスト受信数が示される負荷モデル情報(3−3)(図3)を生成している
次に、負荷モデル作成部(1−1)は、リクエスト種別情報(3−1)(図2)のデータをメモリ上に格納する(S2)。
次に、負荷モデル作成部(1−1)は、認証システムリクエストログ(8)を1つずつ読み込む(S3)。
つまり、複数の認証サーバ装置(60)の認証システムリクエストログ(8)の中から1つの認証サーバ装置(60)の認証システムリクエストログ(8)を読み込む。
次に、負荷モデル作成部(1−1)は、負荷モデル生成のためのパラメータとして、起点時刻(例えば8時)と集計するための時間間隔(例えば5分)をパラメータファイル(図1には不図示)から読み込む(S4)。
パラメータファイルには、例えば、「起点時刻=08:00」、「時間間隔=5」という形式でパラメータが記述されている。
次に、負荷モデル作成部(1−1)は、集計時刻に起点時刻+時間間隔を代入する(S5)。
次に、負荷モデル作成部(1−1)は、リクエストログを1件ずつ読込む(S6)。
負荷モデル作成部(1−1)は、集計時刻とリクエストログの時刻を比較(S7)し、リクエストログの時刻が集計時刻より早い場合にはS9へ進む。
一方、リクエストログの時刻が集計時刻より遅い場合には集計時刻に時間間隔を加算し(S8)、メモリ上の集計テーブルのデータを負荷モデル情報(3−3)に記録(S8−1)して、S10へ進む。
集計テーブルとは、負荷モデル情報(3−3)の各レコードを生成するために、単位時間ごとに、HTTPリクエスト受信数、リクエスト種別の比率を集計するためのテーブルである。
なお、集計テーブルでは、単位時間(5分)でのHTTPリクエスト受信数が集計されるため、負荷モデル情報(3−3)の形式に合わせて、負荷モデル作成部(1−1)は集計テーブル上のHTTPリクエスト受信数を300(秒)で除算して、秒単位のHTTP受信数に変換して、負荷モデル情報(3−3)に記述する。
また、負荷モデル作成部(1−1)は、認証システムリクエストログ(8)の全ファイルの処理が終了したかを確認し(S11)、終了していれば、動作を終了する。
また、負荷パラメータ算出部(1−2)は、基本情報として、負荷ツール情報DB(2)のコントローラ情報(2−1)、エージェント情報(2−2)を読み込む(S14)。
次に、負荷パラメータ算出部(1−2)は、負荷モデル情報(3−3)のレコードを1レコードずつ読み込む(S15)。
この処理は、リクエスト種別ごとに行われる。
つまり、S15で読み込んだレコードに記載の「HTTP数/秒」にリクエスト種別ごとのパーセンテージ(「共通(%)」等)を乗算し、リクエスト種別ごとの「HTTP数/秒」と、当該リクエスト種別に対応する負荷テストコントローラ(4)の最大ユーザ実行数(図5)とを照合する。
例えば、「HTTP数/秒」が1台の負荷テストエージェント(5)の最大ユーザ実行数の範囲内であれば、必要なコントローラ台数は1台である。
また、「HTTP数/秒」が1台の負荷テストエージェント(5)の最大ユーザ実行数ではカバーできない場合は、「HTTP数/秒」の残数が2台目の負荷テストエージェント(5)の最大ユーザ実行数の範囲内であれば、必要なコントローラ台数は2台である。
このようにして、負荷パラメータ算出部(1−2)は、リクエスト種別ごとに、必要なコントローラ台数を算出する。
この処理も、リクエスト種別ごとに行われる。
つまり、S16で求めたリクエスト種別ごとの「HTTP数/秒」を、S16で求めた当該リクエスト種別の「必要なコントローラ台数」で除算して、1秒当たり、1コントローラあたりの実行ユーザ数を求める。
この処理も、リクエスト種別ごとに行われる。
上式の「1テスト当たりのリクエスト数」は、予め指定されており、例えば、200個である。
上式の「1秒当たり、1コントローラあたりの実行ユーザ数」は、S17で求めた値である。
上式の「リクエスト数」は、S16で求めた、リクエスト種別ごとの「HTTP数/秒」である。
この処理は、負荷テストコントローラ(4)ごとに行われる。
上式の「1テストあたりの必要時間」は、S18で求めた値である。
上式の「エージェント1台あたりの多重度」は、エージェント情報(2−2)(図6)の「多重度」の値の平均値である。
例えば、「ctrlhost01」(負荷テストコントローラNo:1)について計算では、「ctrlhost01」の配下の負荷テストエージェント(5)である「host001」、「host002」、「host003」等における平均の多重度である。
具体的には、S19で算出した「ユーザ実行間隔」の値を、負荷パラメータ情報(3−4)の「ユーザ実行間隔」の欄に、S17で算出した「1秒当たり、1コントローラあたりの実行ユーザ数」の値を、負荷パラメータ情報(3−4)の「ユーザ実行数」の欄に書き込む。
更に、図6のエージェント情報(2−2)から、負荷テストコントローラ(4)が制御する負荷テストエージェント(5)のホスト名を抽出して、負荷パラメータ情報(3−4)の「エージェントリスト」の欄に書き込む。
具体的には、負荷テスト実行部(1−3)が負荷パラメータ情報(3−4)のレコードを読込む(S22)。
次に、負荷テスト実行部(1−3)は、起動時刻から起動遅延時間を算出し、各負荷テストコントローラ(4)に負荷パラメータ情報(3−4)の「ユーザ実行間隔」の値、「ユーザ実行数」の値、「エージェントリスト」の値を負荷テストの実行シナリオとして書き込む(S23)。
例えば、「ctrlhost01」(負荷テストコントローラNo:1)に対しては、負荷パラメータ情報(3−4)(図4)の1行目の「ユーザ実行間隔」の値(150)、「ユーザ実行数」の値(1400)、「エージェントリスト」の値(host001,...)、5行目の「ユーザ実行間隔」の値(200)、「ユーザ実行数」の値(1000)、「エージェントリスト」の値(host001,...)等を書き込む。
その後、負荷テスト実行部(1−3)は、負荷パラメータ情報(3−4)の全てのレコードを処理したか否かを確認し(S24)、全てのレコードを処理していればS25へ進み、処理していないレコードが残っていればS22へ戻る。
負荷パラメータ情報(3−4)の全てのレコードを処理していれば、負荷テスト実行部(1−3)は、各負荷テストコントローラ(4)に負荷テストの実行を指示する(S25)。
そして、負荷テスト実行部(1−3)は、負荷テストの完了を待ち(S26)、テストが完了すると動作を終了する。
なお、負荷テストにおいては、各負荷テストエージェント(5)から図9の各URLが記述されたHTTPリクエストが送信される。
HTTPリクエストを送信する際に設定されたIP数や利用ユーザ数に応じてIPアドレスを模擬する。
また、図9で示している「認証画面」、「認証要求(I/Dパスワード)」、「ポータル画面」は説明のための記述であり、実際の負荷テストにおいてこのような記述がなされているわけではない。
また、算出結果を記録しておくことが可能であるため、類似の負荷要件に対するパラメータ算出の短縮や負荷を掛けるパターンごとに負荷モデルを定義することができることでも負荷テストの時間短縮の効果がある。
実環境の認証システムのログを元に、負荷モデルを生成する負荷モデル作成部と生成した負荷モデルと負荷ツール構成情報を合わせて負荷ツール実行パラメータを自動的に算出するための負荷パラメータ算出ツール、負荷ツールを制御・実行するための負荷テスト実行部を備える負荷テストコントロール方式を説明した。
以上の実施の形態1では、認証システムに対するHTTPリクエスト負荷を掛けるためのモデルを実環境の全てのログから生成するようにしたものであるが、次に全サーバのログから生成すると非常に時間がかかってしまう場合に対して、1つの認証サーバ装置のログから負荷モデルを生成する実施の形態を示す。
すなわち、本実施の形態では、負荷モデル作成部(1−1)は、認証システム(6)内の全ての認証サーバ装置(60)の認証システムリクエストログ(8)から負荷モデル情報(3−3)を生成するのではなく、代表の認証サーバ装置(60)の認証システムリクエストログ(8)に基づいて、全ての認証サーバ装置(60)におけるHTTPリクエストの受信数の推定値を導出し、導出した推定値から負荷モデル情報(3−3)を生成する。
図1に示す負荷分散装置(62)は図10に示す負荷分散定義テーブルにて各認証サーバ装置(60−1)(60−2)(60−3)にHTTPリクエストを割り振る割合を管理し、各認証サーバ装置(60−1)(60−2)(60−3)にHTTPリクエストを割り振り、認証サーバ装置への負荷を均等にする。
図10に示す負荷分散定義テーブルでは、割合は全て積算すると1になるように定義されているものとする。
以下では、実施の形態1との違いについて述べる。
そして、負荷モデル作成部(1−1)は、代表の認証サーバ装置(60)の認証システムリクエストログ(8)を入力し、実施の形態1と同様に、入力した認証システムリクエストログ(8)におけるリクエスト数を単位時間ごとに集計し、また、リクエスト種別ごとの比率も集計し、集計結果を集計テーブルに書き込む。
集計テーブルからリクエスト数を負荷モデル情報(3−3)に記録する際に、負荷モデル作成部(1−1)は、集計テーブル上のリクエスト数を図10の分散割合で除算した値を負荷モデル情報(3−3)に記録する(S8−2)。
例えば、代表の認証サーバ装置が図10の認証サーバ装置1であれば、集計テーブルのリクエスト数を「0.3」で割って、全ての認証サーバ装置(60)におけるリクエスト受信数の推定値を算出する。
そして、推定値を負荷モデル情報(3−3)に記録する。
リクエスト種別ごとの比率は集計テーブルの値のまま、負荷モデル情報(3−3)に記録する。
S8−2以外の処理は、図7に示したものと同様である。
以上の実施の形態1では、負荷テストを実施後、想定どおりの負荷がかからなかった場合、手動で調整する必要がある。
本実施の形態では、これに対し、負荷テスト試行時の認証サーバ装置のログを使用して負荷モデルを調整する実施の形態を示す。
図12では、図1と比較して、負荷モデルフィードバック部(1−4)とフィードバックDB(9)が負荷テストコントロールシステム(1)の要素として追加されている。
また、負荷テスト試行時の認証サーバ装置(60)のHTTPリクエストの受信についてのログデータが負荷テスト試行時認証システムリクエストログ(80)として負荷モデルフィードバック部(1−4)に入力される。
認証システムリクエストログ(8)は通常稼働時のHTTPリクエストの受信履歴を示すのに対して、負荷テスト試行時認証システムリクエストログ(80)は負荷テスト試行時のHTTPリクエストの受信履歴を示す。
負荷テスト試行時認証システムリクエストログ(80)の形式は、認証システムリクエストログ(8)と同様であり、例えば、図19に示す通りである。
なお、負荷モデルフィードバック部(1−4)は、フィードバックログデータ入力部、フィードバックログ集約部及びログ集約データ変更部の例に相当する。
また、本実施の形態では、負荷モデル作成部(1−1)、負荷パラメータ算出部(1−2)、負荷ツール情報DB(2)及び負荷モデルフィードバック部(1−4)がテスト装置の例に相当する。
フィードバック負荷モデル情報(9−1)のテーブル構成は、負荷モデル情報(3−3)(図3)と同様である。
また、フィードバック調整ポリシー情報(9−2)のテーブル構成は、図13となる。
負荷モデルフィードバック部(1−4)は、単位時間ごと、リクエスト種別ごとに、フィードバック調整ポリシー情報(9−2)の差分条件が成立するか否かを判断し、差分条件が成立する場合は、適用ポリシーに従って、負荷モデル情報(3−3)の該当する内容を変更する。
フィードバック調整ポリシー情報(9−2)の1行目は、負荷モデル情報(3−3)で規定されている「HTTP数/秒」の値が、負荷テスト試行時認証システムリクエストログ(80)から集計されたフィードバック負荷モデル情報(9−1)で規定されている「HTTP数/秒」の1.1倍よりも大きいことを差分条件としている。
すなわち、負荷テストにおいて実際に認証サーバ装置(60)に送信されたHTTPリクエストの数が、負荷モデル情報(3−3)で規定されている「HTTP数/秒」よりも10%以上少なかったことを差分条件としている。
そして、この差分条件が成立する場合には、現在の負荷モデル情報(3−3)に規定されている「HTTP数/秒」の1.5倍の値が規定される新たな負荷モデル情報(3−3)を生成することを適用ポリシーとする。
また、フィードバック調整ポリシー情報(9−2)の3行目は、負荷モデル情報(3−3)で規定されている「業務(%)」の値と、負荷テスト試行時認証システムリクエストログ(80)から集計されたフィードバック負荷モデル情報(9−1)ので規定されている「業務(%)」の値とが一致しないことを差分条件としている。
そして、この差分条件が成立する場合には、フィードバック負荷モデル情報(9−1)で規定されている「業務(%)」の値と「共通(%)」の値と同じ値が規定される新たな負荷モデル情報(3−3)を生成することを適用ポリシーとする。
負荷モデル生成(図7)から負荷パラメータ算出(図8)、負荷テスト実施(図8)までは実施の形態1と同じである。
図14が負荷モデルフィードバック部(1−4)のフローである。
フィードバック負荷モデル情報(9−1)の生成は、インプットとなる情報が、負荷テスト試行時の認証システム(6)のログである負荷テスト試行時認証システムリクエストログ(80)となる点を除けば、図7と同じである。
したがって、フィードバック負荷モデル情報(9−1)と負荷モデル情報(3−3)の差分を比較するところから記述する。
また、負荷モデルフィードバック部(1−4)は、該当時刻の負荷モデル情報(3−3)のレコードを読み込み(S29)、該当時刻のフィードバック負荷モデル情報(9−1)のレコードを読み込む(S30)。
次に、負荷モデルフィードバック部(1−4)は、両レコードの内容を比較し(S31)、差分があればS32へ、差分がなければS35へ進む。
差分があった場合には、負荷モデルフィードバック部(1−4)は、差分をフィードバック調整ポリシー情報(9−2)の差分条件とつき合わせて適用ポリシーを抽出する(S32)。
つまり、負荷モデルフィードバック部(1−4)は、抽出した差分が合致する差分条件があれば、その差分条件に対応する適用ポリシーを採用する。
そして、負荷モデルフィードバック部(1−4)は、S32にて抽出した適用ポリシーを元の負荷モデル情報(3−3)の値に適用して再計算する(S33)。
そして、負荷モデルフィードバック部(1−4)は、再計算した値を負荷モデル情報(3−3)に反映する(S34)。
また、負荷モデルフィードバック部(1−4)は、全データの比較処理が完了したかチェックし(S36)、完了していれば、動作を終了する。
完了していなければS29からS35までを繰り返す。
負荷テストの試行と負荷テストフィードバックを繰り返すことで、要件に合った負荷パラメータに収束される。
なお、2回目以降の負荷テスト試行時認証システムリクエストログ(80)から生成されたフィードバック負荷モデル情報(9−1)については、オリジナルの負荷モデル情報(3−3)との差分を抽出してもよいし、変更後の負荷モデル情報(3−3)との差分を抽出してもよい。
図15(a)は、認証システムリクエストログ(8)に基づいて生成された負荷モデル情報(3−3)の単位時間ごとの「HTTP数/秒」の値をグラフ化した状態を示す。
図15(b)は、負荷テスト試行時認証システムリクエストログ(80)に基づいて生成されたフィードバック負荷モデル情報(9−1)の単位時間ごとの「HTTP数/秒」の値をグラフ化した状態を示す。
図15(c)は、負荷モデルフィードバック部(1−4)によって負荷モデル情報(3−3)とフィードバック負荷モデル情報(9−1)の差分が調整された後の「HTTP数/秒」の値をグラフ化した状態を示す。
つまり、図15(c)は、図14のS33の再計算により得られた「HTTP数/秒」の値のグラフである。
図15(c)にあるように、図14のS33では、実際の差分よりも大きく調整を行って、当初の負荷モデル情報(3−3)に記載の「HTTP数/秒」分のリクエストが認証サーバ装置(60)に送信されるようにする。
以上の実施の形態2と実施の形態3とを組み合わせてもよい。
実施の形態2及び3よりも更に負荷テスト実施の時間短縮の効果が得られる。
以上の実施の形態3では、フィードバックを繰り返すことで負荷要件に合った負荷テストパラメータを算出していたが、これでは、なかなか負荷モデルが収束されない可能性が考えられる。
そこで、本実施の形態では、適用するフィードバック調整ポリシー情報を1度目と2度目とで変え、フィードバック回数を2回で完了させる実施の形態を示す。
本実施の形態では、フィードバック負荷モデル情報(9−1)にはラベルカラムをキーの一つとして追加し、「試行」および「調整」の回数と負荷モデルを記録する(図16)。
「試行」とは、負荷テストの実施を意味し、図16において「試行」が設定されているレコードには、負荷テスト試行時認証システムリクエストログ(80)を集計して得られた値が記述されている。
「調整」とは、負荷テスト後の新たなパラメータの設定を意味し、図16において「調整」が設定されているレコードには、図14のS33の再計算により得られた値が記述されている。
また、本実施の形態に係るフィードバック調整ポリシー情報(9−2)では、差分条件に試行の回数の情報も追加されている(図17)。
図17の1行目は、1回目の負荷テスト試行時認証システムリクエストログ(80)を集計して得られたフィードバック負荷モデル情報(9−1)とオリジナルの負荷モデル情報(3−3)との間の差分について規定している。
一方、図17の2行目は、2回目の負荷テスト試行時認証システムリクエストログ(80)を集計して得られたフィードバック負荷モデル情報(9−1)とオリジナルの負荷モデル情報(3−3)との間の差分について規定している。
このように、本実施の形態では、負荷モデルフィードバック部(1−4)は、1回目の負荷テスト試行時認証システムリクエストログ(80)の入力時と2回目の負荷テスト試行時認証システムリクエストログ(80)の入力時で適用ポリシーを変えている。
本実施の形態と実施の形態3では、S32、S33で使用する差分条件、適用ポリシーが図17のものを使用する点のみが異なる。
図18において、負荷モデルはオリジナルの負荷モデル情報(3−3)の負荷モデルである。
試行結果(1回目)は、オリジナルの負荷モデル情報(3−3)に基づいて負荷テストが行われた後に出力された1回目の負荷テスト試行時認証システムリクエストログ(80)から生成された1回目のフィードバック負荷モデル情報(9−1)の負荷モデルである。
また、調整結果(1回目)は、オリジナルの負荷モデル情報(3−3)と1回目のフィードバック負荷モデル情報(9−1)との差分を調整した、変更後の負荷モデル情報(3−3)の負荷モデルである。
試行結果(2回目)は、変更後の負荷モデル情報(3−3)に基づいて負荷テストが行われた後に出力された2回目の負荷テスト試行時認証システムリクエストログ(80)から生成された2回目のフィードバック負荷モデル情報(9−1)の負荷モデルである。
調整結果(2回目)は、オリジナルの負荷モデル情報(3−3)と2回目のフィードバック負荷モデル情報(9−1)との差分を調整した、更なる変更後の負荷モデル情報(3−3)の負荷モデルである。
つまり、フィードバック回数を2回に限定しなければ、n(nは1以上の整数)回目の負荷テスト試行時認証システムリクエストログ(80)の入力時と(n+m)(mは1以上の整数)回目の負荷テスト試行時認証システムリクエストログ(80)の入力時とで異なる差分条件と適用ポリシーを用いるようにすることができる。
以上の実施の形態2と実施の形態5とを組み合わせてもよい。
実施の形態2と実施の形態5よりもさらに負荷テスト実施の時間短縮の効果が得られる。
図20は、実施の形態1〜5に示すテスト装置(100)のハードウェア資源の一例を示す図である。
なお、図20の構成は、あくまでもテスト装置(100)のハードウェア構成の一例を示すものであり、テスト装置(100)のハードウェア構成は図20に記載の構成に限らず、他の構成であってもよい。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜5で説明した「負荷ツール情報DB(2)」、「負荷テスト制御情報DB(3)」及び「フィードバックDB(9)」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
テスト装置(100)の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
また、暗号鍵・復号鍵や乱数値やパラメータが、ディスクやメモリなどの記憶媒体にファイルとして記憶されてもよい。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記憶媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜5で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
すなわち、実施の形態1〜5で説明したフローチャートに示すステップ、手順、処理により、本発明に係る「テスト方法」を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の記憶媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、実施の形態1〜5の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜5の「〜部」の手順や方法をコンピュータに実行させるものである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
Claims (11)
- それぞれがクライアント装置をエミュレートする複数のテストツールから複数のリクエストをテスト対象サーバ装置に送信させて、前記テスト対象サーバ装置のテストを行うテスト装置であって、
各テストツールのリクエスト送信性能が示される性能情報を記憶する性能情報記憶部と、
クライアント装置から複数のリクエストを受信する稼動中の稼動中サーバ装置で収集され、前記稼動中サーバ装置におけるリクエストの受信履歴が、リクエストを分類するための識別子であるリクエスト分類識別子とリクエストの受信時刻との対により示されるログデータを入力するログデータ入力部と、
前記ログデータに示される各リクエスト分類識別子を解析して複数のリクエスト種別のうちのいずれかに分類し、所定の単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数を集計し、単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数が示されるログ集約データを生成するログ集約部と、
前記ログ集約データに示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、前記性能情報に示される各テストツールのリクエスト送信性能とに基づき、テストパラメータとして、各テストツールが前記テスト対象サーバ装置に送信するリクエストの数とリクエストの送信タイミングを単位時間ごとにリクエスト種別の単位で指定するテストパラメータ指定部とを有することを特徴とするテスト装置。 - 前記テストパラメータ指定部は、
前記ログ集約データに示されるリクエスト受信数分のリクエストが各単位時間で全てのリクエスト種別について送信されるように、テストツールごとにリクエストの送信数とリクエストの送信タイミングを指定することを特徴とする請求項1に記載のテスト装置。 - 前記テスト装置は、更に、
前記テストパラメータ指定部により指定されたテストパラメータに従って各テストツールから送信されたリクエストの前記テスト対象サーバ装置における受信履歴が、リクエスト分類識別子とリクエストの受信時刻との対により示されるフィードバックログデータを入力するフィードバックログデータ入力部と、
前記フィードバックログデータに示される各リクエスト分類識別子を解析して複数のリクエスト種別のうちのいずれかに分類し、単位時間ごとにリクエスト種別の単位で前記テスト対象サーバ装置におけるリクエスト受信数を集計し、単位時間ごとにリクエスト種別の単位で前記テスト対象サーバ装置におけるリクエスト受信数が示されるフィードバックログ集約データを生成するフィードバックログ集約部と、
前記フィードバックログ集約データに示されるリクエスト受信数と、前記テストパラメータを指定するために用いられたログ集約データに示されるリクエスト受信数とを、単位時間ごとにリクエスト種別の単位で比較し、比較結果に基づき、前記ログ集約データのリクエスト受信数を変更するログ集約データ変更部とを有し、
前記テストパラメータ指定部は、
前記ログ集約データ変更部による変更後のログ集約データに示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、前記性能情報に示される各テストツールのリクエスト送信性能とに基づき、新たなテストパラメータを指定することを特徴とする請求項1又は2に記載のテスト装置。 - 前記フィードバックログデータ入力部は、
前記テストパラメータ指定部により新たなテストパラメータが指定され、新たなテストパラメータに従って各テストツールから前記テスト対象サーバ装置にリクエストが送信される度に、フィードバックログデータを入力し、
前記フィードバックログ集約部は、
前記フィードバックログデータ入力部によりフィードバックログデータが入力される度に、フィードバックログ集約データを生成し、
前記ログ集約データ変更部は、
前記フィードバックログ集約部によりフィードバックログ集約データが生成される度に、生成されたフィードバックログ集約データに示されるリクエスト受信数と、過去のいずれかのログ集約データに示されるリクエスト受信数とを、単位時間ごとにリクエスト種別の単位で比較し、比較結果に基づき、過去のいずれかのログ集約データのリクエスト受信数を変更し、
前記テストパラメータ指定部は、
前記ログ集約データ変更部によりログ集約データが変更される度に、変更後のログ集約データに示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、前記性能情報に示される各テストツールのリクエスト送信性能とに基づき、新たなテストパラメータを指定することを特徴とする請求項3に記載のテスト装置。 - 前記ログ集約データ変更部は、
n(nは1以上の整数)回目のフィードバックログデータの入力の際に、第1の基準に従ってログ集約データのリクエスト受信数を変更し、
(n+m)(mは1以上の整数)回目のフィードバックログデータの入力の際に、第1の基準と異なる第2の基準に従ってログ集約データのリクエスト受信数を変更することを特徴とする請求項4に記載のテスト装置。 - 前記ログデータ入力部は、
前記稼動中サーバ装置のログデータとして、稼動中の前記テスト対象サーバ装置で収集され、前記テスト対象サーバ装置におけるリクエストの受信履歴がリクエスト分類識別子とリクエストの受信時刻との対により示されるログデータを入力することを特徴とする請求項1〜5のいずれかに記載のテスト装置。 - 前記ログデータ入力部は、
テスト対象サーバ装置が複数ある場合に、複数のテスト対象サーバ装置のログデータを入力し、
前記ログ集約部は、
前記ログデータ入力部により入力された前記複数のテスト対象サーバ装置のログデータを用いて、単位時間ごとにリクエスト種別の単位で前記複数のテスト対象サーバ装置におけるリクエスト受信数を集計し、
単位時間ごとにリクエスト種別の単位で前記複数のテスト対象サーバ装置におけるリクエスト受信数が示されるログ集約データを生成することを特徴とする請求項6に記載のテスト装置。 - 前記ログデータ入力部は、
テスト対象サーバ装置が複数ある場合に、複数のテスト対象サーバ装置のうちの代表のテスト対象サーバ装置のログデータのみを入力し、
前記ログ集約部は、
前記ログデータ入力部により入力された代表のテスト対象サーバ装置のログデータを用いて、単位時間ごとにリクエスト種別の単位で代表のテスト対象サーバ装置におけるリクエスト受信数を集計し、
集計結果に基づき、単位時間ごとにリクエスト種別の単位で前記複数のテスト対象サーバ装置におけるリクエスト受信数の推定値が示されるログ集約データを生成することを特徴とする請求項6に記載のテスト装置。 - 前記テストパラメータ指定部は、
前記テスト対象サーバ装置に対する負荷テストのテストパラメータを指定することを特徴とする請求項1〜8のいずれかに記載のテスト装置。 - それぞれがクライアント装置をエミュレートする複数のテストツールから複数のリクエストをテスト対象サーバ装置に送信させて、前記テスト対象サーバ装置のテストを行うコンピュータによるテスト方法であって、
前記コンピュータが、各テストツールのリクエスト送信性能が示される性能情報を所定の記憶領域から読み出す性能情報読み出しステップと、
クライアント装置から複数のリクエストを受信する稼動中の稼動中サーバ装置で収集され、前記稼動中サーバ装置におけるリクエストの受信履歴が、リクエストを分類するための識別子であるリクエスト分類識別子とリクエストの受信時刻との対により示されるログデータを、前記コンピュータが入力するログデータ入力ステップと、
前記コンピュータが、前記ログデータに示される各リクエスト分類識別子を解析して複数のリクエスト種別のうちのいずれかに分類し、所定の単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数を集計し、単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数が示されるログ集約データを生成するログ集約ステップと、
前記コンピュータが、前記ログ集約データに示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、前記性能情報に示される各テストツールのリクエスト送信性能とに基づき、テストパラメータとして、各テストツールが前記テスト対象サーバ装置に送信するリクエストの数とリクエストの送信タイミングを単位時間ごとにリクエスト種別の単位で指定するテストパラメータ指定ステップとを有することを特徴とするテスト方法。 - それぞれがクライアント装置をエミュレートする複数のテストツールから複数のリクエストをテスト対象サーバ装置に送信させて、前記テスト対象サーバ装置のテストを行うコンピュータに、
各テストツールのリクエスト送信性能が示される性能情報を所定の記憶領域から読み出す性能情報読み出しステップと、
クライアント装置から複数のリクエストを受信する稼動中の稼動中サーバ装置で収集され、前記稼動中サーバ装置におけるリクエストの受信履歴が、リクエストを分類するための識別子であるリクエスト分類識別子とリクエストの受信時刻との対により示されるログデータを入力するログデータ入力ステップと、
前記ログデータに示される各リクエスト分類識別子を解析して複数のリクエスト種別のうちのいずれかに分類し、所定の単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数を集計し、単位時間ごとにリクエスト種別の単位で前記稼動中サーバ装置におけるリクエスト受信数が示されるログ集約データを生成するログ集約ステップと、
前記ログ集約データに示される単位時間ごとのリクエスト種別単位のリクエスト受信数と、前記性能情報に示される各テストツールのリクエスト送信性能とに基づき、テストパラメータとして、各テストツールが前記テスト対象サーバ装置に送信するリクエストの数とリクエストの送信タイミングを単位時間ごとにリクエスト種別の単位で指定するテストパラメータ指定ステップとを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012183251A JP5896862B2 (ja) | 2012-08-22 | 2012-08-22 | テスト装置及びテスト方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012183251A JP5896862B2 (ja) | 2012-08-22 | 2012-08-22 | テスト装置及びテスト方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014041463A true JP2014041463A (ja) | 2014-03-06 |
JP5896862B2 JP5896862B2 (ja) | 2016-03-30 |
Family
ID=50393681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012183251A Expired - Fee Related JP5896862B2 (ja) | 2012-08-22 | 2012-08-22 | テスト装置及びテスト方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5896862B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015146100A1 (ja) * | 2014-03-28 | 2015-10-01 | 日本電気株式会社 | 負荷推定システム、情報処理装置、負荷推定方法、及び、プログラムを記憶する記憶媒体 |
CN107040401A (zh) * | 2015-12-01 | 2017-08-11 | 中华电信股份有限公司 | 具安全与功能扩充性的有线局域网络用户管理系统及方法 |
CN108445869A (zh) * | 2018-03-26 | 2018-08-24 | 杭州先途电子有限公司 | 一种控制器测试方法及系统 |
KR101978403B1 (ko) * | 2019-01-28 | 2019-05-14 | 넷마블 주식회사 | 부하 발생 장치, 이의 동작 방법, 및 이를 포함하는 성능 테스트 시스템 |
WO2020162181A1 (ja) * | 2019-02-07 | 2020-08-13 | 日本電信電話株式会社 | 試験装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006344050A (ja) * | 2005-06-09 | 2006-12-21 | Honda Motor Co Ltd | 負荷検証要件特定装置、負荷検証要件特定方法及び負荷検証要件特定プログラム |
-
2012
- 2012-08-22 JP JP2012183251A patent/JP5896862B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006344050A (ja) * | 2005-06-09 | 2006-12-21 | Honda Motor Co Ltd | 負荷検証要件特定装置、負荷検証要件特定方法及び負荷検証要件特定プログラム |
Non-Patent Citations (4)
Title |
---|
JPN6015028895; 野中雄太,他4名: 'StarBEDを用いたサーバ負荷試験の実現' マルチメディア,分散,協調とモバイル(DICOMO2007)シンポジウム論文集 情報処理学会シンポジ 第2007巻,第1号, 20070704, pp.199-204, 社団法人情報処理学会 * |
JPN6015028896; 蟹江弘士,他2名: '協調型アクティブモニタリングシステムの設計と実現' マルチメディア,分散,協調とモバイル(DICOMO 2005)シンポジウム論文集 情報処理学会シンポ 第2005巻,第6号, 20060831, pp.765-768, 社団法人情報処理学会 * |
JPN6015028897; 岩崎正剛: 'オープンソースのグリッドエンジンBOINC入門' Linuxソフトウェアアンテナ pp.150-159, 20051025, 株式会社技術評論社 * |
JPN6015028899; 谷口圭司: 'Webサーバー構築術第14回' UNIX USER 第7巻,第10号, 19981001, pp.125-132, ソフトバンク株式会社 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015146100A1 (ja) * | 2014-03-28 | 2015-10-01 | 日本電気株式会社 | 負荷推定システム、情報処理装置、負荷推定方法、及び、プログラムを記憶する記憶媒体 |
JPWO2015146100A1 (ja) * | 2014-03-28 | 2017-04-13 | 日本電気株式会社 | 負荷推定システム、情報処理装置、負荷推定方法、及び、コンピュータ・プログラム |
US10248462B2 (en) | 2014-03-28 | 2019-04-02 | Nec Corporation | Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program |
CN107040401A (zh) * | 2015-12-01 | 2017-08-11 | 中华电信股份有限公司 | 具安全与功能扩充性的有线局域网络用户管理系统及方法 |
CN108445869A (zh) * | 2018-03-26 | 2018-08-24 | 杭州先途电子有限公司 | 一种控制器测试方法及系统 |
KR101978403B1 (ko) * | 2019-01-28 | 2019-05-14 | 넷마블 주식회사 | 부하 발생 장치, 이의 동작 방법, 및 이를 포함하는 성능 테스트 시스템 |
WO2020162181A1 (ja) * | 2019-02-07 | 2020-08-13 | 日本電信電話株式会社 | 試験装置 |
JP2020129736A (ja) * | 2019-02-07 | 2020-08-27 | 日本電信電話株式会社 | 試験装置 |
JP7222260B2 (ja) | 2019-02-07 | 2023-02-15 | 日本電信電話株式会社 | 試験装置 |
US11943250B2 (en) | 2019-02-07 | 2024-03-26 | Nippon Telegraph And Telephone Corporation | Test device |
Also Published As
Publication number | Publication date |
---|---|
JP5896862B2 (ja) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11588855B2 (en) | Policy approval layer | |
US10248530B2 (en) | Methods and systems for determining capacity | |
JP5896862B2 (ja) | テスト装置及びテスト方法及びプログラム | |
US20180198773A1 (en) | Systems and methods for automated detection of login sequence for web form-based authentication | |
EP3374857B1 (en) | Dashboard as remote computing services | |
US9122789B1 (en) | System and method for testing applications with a load tester and testing translator | |
TW202009768A (zh) | 用於產生多個連動式資料圖框的多圖框網路安全分析裝置與相關的電腦程式產品 | |
US10380112B2 (en) | Joining two data tables on a join attribute | |
US20090240759A1 (en) | Methods and Apparatus for Web Application Testing Using Proxy | |
JP2017533511A (ja) | 信頼される端末を検証するための方法及び装置 | |
JP2018045372A (ja) | 情報処理装置及び情報処理プログラム | |
JP6893531B2 (ja) | 要求処理方法及び装置 | |
US20160277389A1 (en) | Role-based access tool | |
WO2014054230A1 (ja) | 情報システム構築装置、情報システム構築方法および記憶媒体 | |
US20230214677A1 (en) | Techniques for evaluating an effect of changes to machine learning models | |
Sehgal et al. | Cloud computing with security and scalability | |
US20150100677A1 (en) | Managing server system, and control method for the same | |
CN106161356A (zh) | 通过客户端快速登录网站的方法和系统 | |
JP7274162B2 (ja) | 異常操作検知装置、異常操作検知方法、およびプログラム | |
JP6861880B1 (ja) | 生成装置、生成方法および生成プログラム | |
US11360951B1 (en) | Database migration systems and methods | |
WO2015049771A1 (ja) | コンピュータシステム | |
CN113347504B (zh) | 图像防抖处理的方法、装置和系统 | |
US10313188B2 (en) | Method for remote management of multiple device configurations | |
Jones et al. | Evaluating emulation-based models of distributed computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5896862 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |