JP6045134B2 - アプリケーション性能試験のための並列作業負荷シミュレーション - Google Patents

アプリケーション性能試験のための並列作業負荷シミュレーション Download PDF

Info

Publication number
JP6045134B2
JP6045134B2 JP2011245172A JP2011245172A JP6045134B2 JP 6045134 B2 JP6045134 B2 JP 6045134B2 JP 2011245172 A JP2011245172 A JP 2011245172A JP 2011245172 A JP2011245172 A JP 2011245172A JP 6045134 B2 JP6045134 B2 JP 6045134B2
Authority
JP
Japan
Prior art keywords
workloads
block
workload
blocks
different
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.)
Active
Application number
JP2011245172A
Other languages
English (en)
Other versions
JP2012123789A (ja
Inventor
チー・チェン・リュー
ダン・エン・レン
ペン・ペン・ワン
リー・ピン・リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012123789A publication Critical patent/JP2012123789A/ja
Application granted granted Critical
Publication of JP6045134B2 publication Critical patent/JP6045134B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、アプリケーション性能試験に関し、より具体的には、アプリケーション性能試験のための作業負荷シミュレーションに関する。
ソフトウェア工学においては、性能試験は、特定のまとまった作業負荷の存在下でコンピュータ・システムのいくつかの態様がどの程度速く行われるかを判定するものである。性能試験はまた、コンピュータ・システムの他の属性、例えば、コンピュータ・システムの拡張性、信頼性及びリソース使用量を確認し、検証する。重要なこととして、いくつかの状況においては、コンピュータ・システムの性能試験は、コンピュータ・システムが、エンド・ユーザによって指定されることが多い特定の性能基準を満たすことの証明を目的とする。他の状況においては、性能試験は、コンピュータ・システムの性能低下を引き起こしているコンピュータ・システムのセグメントを評価する。後者の状況においては、プロファイリング・ツールが、性能低下の最大の要因となっているコンピュータ・システムの部分を識別する。
作業負荷シミュレーションは、性能試験の必要不可欠な一部を形成するものである。作業負荷シミュレーションにおいては、コンピュータ・システムが動作する状況をシミュレートするために、異なる作業負荷が生成され、コンピュータ・システムに与えられる。シミュレーションの精度を保証するために、作業負荷シミュレーションは、静的に構築されることが多い。作業負荷シミュレーションのシナリオの構築を容易にするために、アプリケーションに対する予め規定された刺激のセットによるコンピュータ・アプリケーションの動作を記録することができる。その後、コンピュータ・アプリケーションの記録された動作を再生して、コンピュータ・アプリケーションの性能を評価することができる。注目すべき点は、作業負荷シミュレーションにおいて作業負荷の図形編集を使用できるようにするために、図形ツールが開発されてきたことである。
作業負荷シミュレーションは、分散型アプリケーション、特にシン・ウェブ・クライアントを含むウェブ・アプリケーションの性能試験にとって極めて有効であることが証明されてきた。しかしながら、リッチ・クライアントの復活により、今ではより複雑な作業負荷の処理が実質的に可能になり、従来の記録−再生(record-and-playback)方法を用いた作業負荷シミュレーションが複雑なものとなってきた。この点に関して、リッチ・クライアントは、多数の異なるタスクを同時に扱うことが可能であり、各々のタスクは、極めて多くの要求を順次生成することができる。タスクは、互いに無関係に実行することも、互いに協働して実行することもできる。タスクは、並列に実行することもできる。しかしながら、作業負荷シミュレーションの観点からみると、異なるタスクの要求は、発生元のタスクを考慮せずに単に互いに混合されているに過ぎない。
従来、クライアントにおいて異なるタスクからの要求の混合を処理するために、クライアントにおいて次の要求が発生することが許可される前に、選択された要求を確実に満足するように、選択された要求を含むループが生成される。しかしながら、作業負荷シミュレーションの間にループを確立することは、要求の生成の順序を人工的に生成することである。当然のことながら、作業負荷シミュレーションの間にループを用いることによって、クライアントにおいてタスクが並列に実行されることが必然的に妨げられ、その結果、作業負荷シミュレーションの完全性が損なわれる。
本発明の実施形態は、作業負荷シミュレーションに関する技術の欠点に対処するものであり、アプリケーション性能試験の並列作業負荷シミュレーションのための、新規且つ非自明な方法、システム及びコンピュータ・プログラムを提供する。本発明の一実施形態においては、アプリケーション性能試験の並列作業負荷シミュレーションのための方法が提供される。本発明は、ホスト・コンピュータの少なくとも1つのプロセッサによってメモリ内で実行されている作業負荷シミュレータにおいて、試験中のコンピュータ・アプリケーションの異なるタスクについての記録された作業負荷のリストを読み込むことを含む。本方法はまた、記録された作業負荷を共通タスクによって対応するブロックにグループ化することを含む。最後に、本方法は、共通ブロック内の作業負荷を共通ブロックにおける出現順に直列実行することを必要とするが、異なるブロック内の作業負荷の並列実行を可能にするように、グループ化された作業負荷から、試験中のコンピュータ・アプリケーションの性能をシミュレートするための負荷を生成することを含む。
実施形態の一態様においては、ブロック間で同期点を確立することができる。その後、負荷の生成の間に、同期点の後に現れるブロックの作業負荷の実行を許可する前に実行するために、同期点の前に現れるブロック内の全ての作業負荷を要求することができる。実施形態の別の態様においては、記録された作業負荷は、ハイパーテキスト転送プロトコル(HTTP)要求である。したがって、記録された作業負荷を共通タスクによって対応するブロックにグループ化することは、異なるタスクの各々について、HTTP要求間の対応する異なる文字列を識別することと、異なる文字列のうちの共通する文字列を共有するHTTP要求の各々を1つの共通ブロック内に配置することとを含むことができる。さらに、以前に実行されたHTTP要求からの結果に依存する各々のHTTP要求を共通ブロック内に配置することができる。
本発明の別の実施形態においては、並列作業負荷シミュレーションのための性能試験データ処理システムを構成することができる。本システムは、メモリ及び少なくとも1つのプロセッサを有するホスト・コンピュータと、ホスト・コンピュータにおいて実行されるオペレーティング・システムとを含むことができる。本システムはまた、オペレーティング・システムによってホストされる作業負荷シミュレータを含むことができる。作業負荷シミュレータは、負荷レコーダ、負荷エディタ及び負荷ジェネレータの各々を含むことができる。最後に、負荷エディタには、ブロック識別モジュールを接続することができる。このモジュールは、作業負荷シミュレータにおいて試験中のコンピュータ・アプリケーションの異なるタスクについて負荷レコーダによって記録されたHTTP要求などの作業負荷のリストを読み込むことと、前記記録された作業負荷を共通タスクによって対応するブロックにグループ化することとを可能にするプログラム・コードを含むことができる。
本発明のさらなる態様は、一部は以下の詳細な説明において示され、一部は詳細な説明から明らかとなるか、又は本発明の実施によって知ることができる。本発明の態様は、特許請求の範囲において特に挙げられた要素及び組み合わせによって実現され、達成される。上記の一般的な説明及び以下の詳細な説明はいずれも、単なる例示及び説明のためのものであり、本発明を限定するものではないことを理解されたい。
アプリケーション性能試験の並列作業負荷シミュレーションのための処理の説明図である。 並列作業負荷シミュレーションのために構成された性能試験データ処理システムの概略図である。 アプリケーション性能試験の並列作業負荷シミュレーションのための処理を説明するフローチャートである。
この明細書に組み込まれ、この明細書の一部である添付の図面は、本発明の実施形態を説明するものであり、詳細な説明と共に本発明の原理を説明するのに役立つものである。ここで示される実施形態は、現時点で好ましいものであるが、本発明は、示される構成及び手段そのものに限定されないことを理解されたい。
本発明の実施形態は、アプリケーション性能試験のための並列作業負荷シミュレーションを提供する。本発明の実施形態によれば、異なるタスクについての異なる要求を作業負荷シミュレータに蓄積することができる。シングル・タスクに共通している要求は、受信された順にブロックにグループ化することができる。その後、負荷ジェネレータが、共通ブロック内の要求は共通ブロックによって予め規定された順に実行されるが、異なるブロックの要求は並列に実行されるように、異なるブロックの要求と一致する負荷を生成することができる。このようにして、単一のコンピュータ・デバイス内における異なるタスクからの要求の並列作業負荷シミュレーションの際に、異なるタスクからの要求の恣意的で人工的な順序付けを避けることができる。
さらに説明すると、図1は、アプリケーション性能試験の並列作業負荷シミュレーションのための処理を示す説明図である。図1に示されるように、性能試験システム110が、コンピュータ・アプリケーションにおいて並列に実行されている異なるタスクについての一連の作業負荷130を記録することができる。並列タスク・グループ化論理120が、作業負荷130を処理して、共通タスクについての作業負荷を並列ブロック140A、140B、140Cにグループ化することができる。さらに、並列ブロック140A、140B、140Cのうちの選択されたブロックは、共通コンテナ160にグループ化することができる。並列ブロック140A、140B、140Cの対応するブロック内では、各々のタスクについての作業負荷130が記録された順序を保持することができる。しかしながら、共通コンテナ160内では並列ブロック140A、140B、140Cのうちの選択されたブロックの順序付けは特に行われないが、多数の異なるコンテナ160の順序づけは保持することができる。注目すべきは、並列ブロック140A、140B、140Cの間に同期点150が設けられ、並列ブロック140A、140B、140Cのうち同期点150より前のブロック内のそれぞれのタスクについての作業負荷130の全てが確実に完了することである。
作業負荷130が並列ブロック140A、140B、140Cのそれぞれのブロックに自動的に並列グループ化された後で、負荷ジェネレータ170が、並列ブロック140A、140B、140Cにおける作業負荷130のグループ化に従って、コンピュータ・アプリケーションの性能をシミュレートするための負荷を性能試験システム110内に生成することができる。負荷の生成によって、並列ブロック140A、140B、140Cのうちの同じコンテナ160内の異なるブロックにおける異なるタスクの作業負荷130の並列実行を可能にしながら、並列ブロック140A、140B、140C及びいずれかの同期点150の順序付け制約を強制することができる。
性能試験データ処理システム内に、図1に関連して説明された処理を実装することができる。さらに説明すると、図2は、並列作業負荷シミュレーションのために構成された性能試験データ処理システムの概略図である。システムは、メモリ220と少なくとも1つのプロセッサ230(説明を容易にするために単一のプロセッサのみが示されている)との両方を有するホスト・コンピュータ210を含むことができる。ホスト・コンピュータ210のメモリ内ではプロセッサ230の1つ又は複数によってオペレーティング・システム240を実行することができる。オペレーティング・システム240は、試験中のコンピュータ・アプリケーションが動作する条件をシミュレートするために、異なる作業負荷を生成し、生成された作業負荷を試験中のコンピュータ・アプリケーションに与えるように構成された作業負荷シミュレータ250の動作を、ホストすることができる。
そのために、作業負荷シミュレータ250には、負荷レコーダ260、負荷エディタ270及び負荷ジェネレータ280を接続することができる。負荷レコーダ260は、試験中のコンピュータ・アプリケーションの実行の間に、試験中のコンピュータ・アプリケーションによって作られた作業負荷を記録することができる。例えば、作業負荷は、SOA環境におけるサービスの要求を含むことができる。従って、これらの要求は、固有のネットワーク・アドレスでアクセス可能なSOA環境における異なる遠隔実行サービスを処理するために、ハイパーテキスト転送プロトコル(HTTP)要求とすることができる。次に、負荷エディタ270は、負荷ジェネレータ280による処理のために、記録された負荷を閲覧し、編集し、格納することができるグラフィカル・ユーザ・インターフェース(GUI)を提供することができる。負荷ジェネレータ280は、記録され編集された負荷の格納済みセットを処理して、試験中のコンピュータ・アプリケーションの性能をシミュレートするために試験中のコンピュータ・アプリケーションに与えられることになる負荷のセットを生成することができる。
注目すべきことは、負荷エディタ270にブロック識別モジュール300を接続できることである。ブロック識別モジュール300は、対応する並列ブロック内の共通タスクに従って、試験中のコンピュータ・アプリケーションの異なるタスクについて、記録されたHTTP要求のような試験中のコンピュータ・アプリケーションの異なるタスクについての負荷をグループ化することを可能にするプログラム・コードを含むことができる。グループ化は、作業負荷の各々を他の作業負荷と比較して共通の要素を識別することによって、行うことができる。例えば、HTTP要求の場合には、同じタスクについての要求は、共通識別子のようなHTTP要求の共通部分を共有することがある。必要に応じて、別の作業負荷に依存する作業負荷の各々を同じ並列ブロック内に一緒に配置することによって、付加的なグループ化を行うことができる。作業負荷が、対応するタスクのための並列ブロックにグループ化されると、グループ化された作業負荷は、負荷シミュレータ250における試験中のコンピュータ・アプリケーションのシミュレーションのための作業負荷を負荷ジェネレータ280が生成するのに使用できるように、負荷ジェネレータ280に渡すことができる。
さらにブロック識別モジュール300の動作を説明すると、図3は、アプリケーション性能試験の並列作業負荷シミュレーションの処理を説明するフローチャートである。ブロック310で開始され、試験中のコンピュータ・アプリケーションの異なるタスクについての記録されたHTTP要求のリストを読み込むことができ、ブロック320において、タスクのうちの異なるタスクに各々が対応する異なる文字列識別子を読み込むことができる。ブロック330においては、異なる文字列識別子のうち固有の識別子ごとに、並列ブロックを生成することができる。最後に、ブロック340において、各々の並列ブロックが同じ文字列識別子を共有する要求のみを含むように、対応する文字列識別子に従って、記録されたHTTP要求を異なる並列ブロックにソートすることができる。
当業者であれば分かるように、本発明の態様は、システム、方法又はコンピュータ・プログラムとして具体化することができる。従って、本発明の態様は、全体がハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)全体がソフトウェアの実施形態、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取ることができ、本明細書においてはこれらの全てを一般に、「回路」、「モジュール」又は「システム」と呼ぶことできる。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み入れられた1つ又は複数のコンピュータ可読媒体内で具体化されたコンピュータ・プログラムの形を取ることができる。
1つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光学、電磁気、赤外線若しくは半導体のシステム、装置若しくはデバイス、又は上記のいずれかの適切な組合せとすることができるが、これらに限定されるものではない。コンピュータ可読ストレージ媒体のより具体的な例(非網羅的なリスト)として、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、又は上記のいずれかの適切な組合せが挙げられる。本明細書の文脈では、コンピュータ可読ストレージ媒体とは、命令実行システム、装置又はデバイスによって又はこれらと関連して用いるためのプログラムを収容し又は格納することができるいずれかの有形媒体である。
コンピュータ可読信号媒体は、例えばベースバンド又は搬送波の一部にコンピュータ可読プログラム・コードを組み入れた搬送データ信号を含むことができる。こうした搬送データ信号は、電磁気、光、又はこれらのいずれかの適切な組合せを含むがこれらに限定されない、種々の形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置又はデバイスによって又はこれらと関連して用いるためのプログラムを通信し、伝搬し、又は転送することができる、いずれかのコンピュータ可読媒体とすることができる。
コンピュータ可読媒体に組み入れられたプログラム・コードは、無線、有線、光ファイバ・ケーブル、無線周波数など、又はこれらのいずれかの適切な組合せを含むがこれらに限定されない、いずれかの適切な媒体を用いて伝送することができる。本発明の態様についての動作を実行するためのコンピュータ・プログラム・コードは、オブジェクト指向型プログラミング言語及び従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語のいずれかの組合せで記述することができる。プログラム・コードは、全体をユーザのコンピュータ上で実行するか、スタンドアロン型のソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行するか、一部をユーザのコンピュータ上で実行し、一部を遠隔コンピュータ上で実行するか、又は、全体を遠隔コンピュータ若しくはサーバ上で実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域エリア・ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続することができ、又は(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)外部コンピュータに接続することもできる。
本発明の態様は、本発明の実施形態による方法、装置(システム)、及びコンピュータ・プログラムのフローチャート図及び/又はブロック図を参照して、上述された。この点について、図面におけるフローチャート及び/又はブロック図は、本発明の様々な実施形態による、システム、方法及びコンピュータ・プログラムの可能な実装形態のアーキテクチャ、機能及び動作を示すものである。例えば、フローチャート又はブロック図における各々のブロックは、モジュール、セグメント又はコードの一部を表すことができ、これらは、1つ又は複数の指定された論理機能を実装するための1つ又は複数の実行可能命令を含む。幾つかの代替的な実装形態においては、ブロックに記された機能が図面に記された順序通りに行われない場合があることにも留意されたい。例えば、連続して示された2つのブロックが、実際には実質的に同時に実行されることがあり、これらのブロックが、関与する機能に応じて、ときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図における各々のブロック、並びにブロック図及び/又はフローチャート図におけるブロックの組合せは、指定された機能若しくは動作を行う専用ハードウェア・ベースのシステム又は専用のハードウェアとコンピュータ命令との組合せによって実装できることにも留意されたい。
フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図におけるブロックの組合せは、コンピュータ・プログラム命令によって実装できることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて、マシンを生産し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装するための手段を生成するようにすることができる。
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納して、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装する命令を含む製品を製造するようにすることもできる。コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードし、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で一連の動作ステップを行わせてコンピュータ実装処理を生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装するための処理を提供するようすることもできる。
最後に、本明細書で用いられる用語は、特定の実施形態を説明する目的のためのものに過ぎず、本発明を限定することを意図するものではない。本明細書で用いられるとき、単数形「1つの(a)」、「1つの(an)」及び「その(the)」は、そうでないことが示されていない限り、複数形も含むことが意図されている。本明細書で用いられるとき、「含む(comprises)」及び/又は「含んでいる(comprising)」という用語は、提示された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を特定するものであるが、1つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらのグループの存在又は追加を排除するものではないことをさらに理解されたい。
特許請求の範囲における全ての「手段又はステップと機能との組合せ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、行為及び均等物は、その機能を、明確に特許請求されているように他の特許請求された要素と組み合わせて実行するための、いかなる構造、材料又は行為をも含むことが意図される。本発明の説明は、例示及び説明の目的で提示されたものであるが、網羅的であることを意図するものではなく、本発明を開示された形態に限定することを意図するものでもない。本発明の範囲及び精神から逸脱することのない多くの変更及び変形が、当業者には明らかである。実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が本発明を種々の変更を有する種々の実施形態について企図される特定の使用に適したものとして理解することを可能にするために、選択及び記載された。
本出願の発明を、詳細に、本発明の実施形態を参照することによって説明してきたが、特許請求の範囲において定められる本発明の範囲から逸脱することのない変更及び変形が可能であることが明らかであろう。

Claims (14)

  1. アプリケーション性能試験の並列作業負荷シミュレーションのための方法であって、
    ホスト・コンピュータの少なくとも1つのプロセッサによってメモリ内で実行されている作業負荷シミュレータにおいて、試験中のコンピュータ・アプリケーションの異なるタスクについての記録された作業負荷のリストを読み込むことと、
    前記記録された作業負荷を共通タスクによって対応するブロックにグループ化することであって、グループ化した各ブロックにはそれぞれ異なるタスクが対応している、グループ化することと、
    前記各ブロック内の作業負荷を前記各ブロックにおける出現順に直列実行することを必要とするが、異なるブロック内の作業負荷の並列実行を可能にするように、前記グループ化された作業負荷から、試験中の前記コンピュータ・アプリケーションの性能をシミュレートするための負荷を生成することと、
    を含み、
    前記グループ化することは、別の作業負荷に依存する作業負荷の各々を同じブロック内に配置することを含む、
    方法。
  2. 前記ブロック間で同期点を設定することと、
    前記同期点より前のブロック内のそれぞれのタスクについての作業負荷の全てが完了するように、前記同期点の順序付け制約を強制することと、
    をさらに含む、請求項1に記載の方法。
  3. 前記記録された作業負荷は、ハイパーテキスト転送プロトコル(HTTP)要求である、請求項1に記載の方法。
  4. 前記記録された作業負荷を共通タスクによって対応するブロックにグループ化することは、
    前記異なるタスクの各々について、前記HTTP要求間の対応する異なる文字列を識別することと、
    前記異なる文字列のうちの共通する文字列を共有する前記HTTP要求の各々を1つの共通ブロック内に配置することと、
    を含む、請求項3に記載の方法。
  5. 以前に実行されたHTTP要求からの結果に依存する各々のHTTP要求を共通ブロック内に配置することをさらに含む、請求項4に記載の方法。
  6. 選択されたブロックを、異なるブロックからの作業負荷が並列に実行される共通コンテナ内にグループ化することをさらに含む、請求項1に記載の方法。
  7. 並列作業負荷シミュレーションのために構成された性能試験データ処理システムであって、
    メモリ及び少なくとも1つのプロセッサを有するホスト・コンピュータと、
    前記ホスト・コンピュータにおいて実行されるオペレーティング・システムと、
    前記オペレーティング・システムによってホストされる作業負荷シミュレータであって、負荷レコーダ、負荷エディタ及び負荷ジェネレータの各々を含む、作業負荷シミュレータと、
    前記負荷エディタに接続されたブロック識別モジュールであって、前記作業負荷シミュレータにおいて試験中のコンピュータ・アプリケーションの異なるタスクについて、前記負荷レコーダによって記録された作業負荷のリストを読み込むことと、前記記録された作業負荷を共通タスクによって対応するブロックにグループ化することであって、グループ化した各ブロックにはそれぞれ異なるタスクが対応している、グループ化することとを可能にするプログラム・コードを含む、ブロック識別モジュールと、
    を含み、
    前記負荷ジェネレータは、前記各ブロック内の作業負荷を前記各ブロックにおける出現順に直列実行することを必要とするが、異なるブロック内の作業負荷の並列実行を可能にするように、前記グループ化された作業負荷から、試験中の前記コンピュータ・アプリケーションの性能をシミュレートするための負荷を生成し、
    前記ブロック識別モジュールは、別の作業負荷に依存する作業負荷の各々を同じブロック内に配置する、
    性能試験データ処理システム。
  8. 前記記録された作業負荷は、ハイパーテキスト転送プロトコル(HTTP)要求である、請求項7に記載のシステム。
  9. アプリケーション性能試験の並列作業負荷シミュレーションのためのコンピュータ・プログラムであって、コンピュータに、
    ホスト・コンピュータの少なくとも1つのプロセッサによってメモリ内で実行されている作業負荷シミュレータにおいて、試験中のコンピュータ・アプリケーションの異なるタスクについての記録された作業負荷のリストを読み込む機能と、
    前記記録された作業負荷を共通タスクによって対応するブロックにグループ化する機能であって、グループ化した各ブロックにはそれぞれ異なるタスクが対応している、グループ化する機能と、
    前記各ブロック内の作業負荷を前記各ブロックにおける出現順に直列実行することを必要とするが、異なるブロック内の作業負荷の並列実行を可能にするように、前記グループ化された作業負荷から、試験中の前記コンピュータ・アプリケーションの性能をシミュレートするための負荷を生成する機能と、
    を実行させ
    前記グループ化する機能は、別の作業負荷に依存する作業負荷の各々を同じブロック内に配置する機能を含む、
    コンピュータ・プログラム。
  10. 前記ブロック間で同期点を設定する機能と、
    前記同期点より前のブロック内のそれぞれのタスクについての作業負荷の全てが完了するように、前記同期点の順序付け制約を強制する機能と、
    をさらに含む、請求項9に記載のコンピュータ・プログラム。
  11. 前記記録された作業負荷は、ハイパーテキスト転送プロトコル(HTTP)要求である、請求項10に記載のコンピュータ・プログラム。
  12. 前記記録された作業負荷を共通タスクによって対応するブロックにグループ化する機能は、
    前記異なるタスクの各々について、前記HTTP要求間の対応する異なる文字列を識別する機能と、
    前記異なる文字列のうちの共通する文字列を共有する前記HTTP要求の各々を1つの共通ブロック内に配置する機能と、
    を含む、請求項11に記載のコンピュータ・プログラム。
  13. 以前に実行されたHTTP要求からの結果に依存する各々のHTTP要求を共通ブロック内に配置する機能をさらに含む、請求項12に記載のコンピュータ・プログラム。
  14. 選択されたブロックを、異なるブロックからの作業負荷が並列に実行される共通コンテナ内にグループ化する機能をさらに含む、請求項9に記載のコンピュータ・プログラム。
JP2011245172A 2010-12-06 2011-11-09 アプリケーション性能試験のための並列作業負荷シミュレーション Active JP6045134B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/961,046 US9823991B2 (en) 2010-12-06 2010-12-06 Concurrent workload simulation for application performance testing
US12/961046 2010-12-06

Publications (2)

Publication Number Publication Date
JP2012123789A JP2012123789A (ja) 2012-06-28
JP6045134B2 true JP6045134B2 (ja) 2016-12-14

Family

ID=46163060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011245172A Active JP6045134B2 (ja) 2010-12-06 2011-11-09 アプリケーション性能試験のための並列作業負荷シミュレーション

Country Status (3)

Country Link
US (1) US9823991B2 (ja)
JP (1) JP6045134B2 (ja)
CN (1) CN102567172B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954397B2 (en) * 2007-05-03 2015-02-10 Oracle International Corporation Creation and replay of a simulation workload using captured workloads
US8614716B2 (en) 2010-10-01 2013-12-24 Apple Inc. Recording a command stream with a rich encoding format for capture and playback of graphics content
KR101707545B1 (ko) * 2010-12-23 2017-02-16 주식회사 케이티 솔루션 공유 방법 및 그 장치
CA2738422C (en) * 2011-04-28 2018-11-20 Ibm Canada Limited-Ibm Canada Limitee Examining concurrent system states
US9256700B1 (en) 2012-12-31 2016-02-09 Emc Corporation Public service for emulation of application load based on synthetic data generation derived from preexisting models
US9274918B2 (en) * 2013-07-25 2016-03-01 International Business Machines Corporation Prediction of impact of workload migration
US9645916B2 (en) 2014-05-30 2017-05-09 Apple Inc. Performance testing for blocks of code
US10108520B2 (en) * 2015-10-27 2018-10-23 Tata Consultancy Services Limited Systems and methods for service demand based performance prediction with varying workloads
US10146656B2 (en) * 2016-02-16 2018-12-04 Tata Consultancy Services Limited Service demand based performance prediction using a single workload
WO2019017947A1 (en) * 2017-07-20 2019-01-24 Hewlett-Packard Development Company, L.P. PERFORMANCE PREDICTION OF A COMPUTER SYSTEM
US20190179547A1 (en) * 2017-12-13 2019-06-13 Micron Technology, Inc. Performance Level Adjustments in Memory Devices
US10430321B1 (en) 2018-08-21 2019-10-01 International Business Machines Corporation White box code concurrency testing for transaction processing

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168566A (en) * 1983-11-25 1992-12-01 Sharp Kabushiki Kaisha Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4807142A (en) * 1984-10-09 1989-02-21 Wang Laboratories, Inc. Screen manager multiple viewport for a multi-tasking data processing system
JP3039953B2 (ja) * 1989-04-28 2000-05-08 株式会社日立製作所 並列化装置
US5768594A (en) * 1995-07-14 1998-06-16 Lucent Technologies Inc. Methods and means for scheduling parallel processors
US6571215B1 (en) * 1997-01-21 2003-05-27 Microsoft Corporation System and method for generating a schedule based on resource assignments
JP2002007232A (ja) 2000-06-21 2002-01-11 Cybird Co Ltd Wwwサーバーの性能試験方法およびサーバー試験装置
US7165256B2 (en) * 2001-09-11 2007-01-16 Sun Microsystems, Inc. Task grouping in a distributed processing framework system and methods for implementing the same
US7877681B2 (en) * 2002-12-05 2011-01-25 Borland Software Corporation Automatic context management for web applications with client side code execution
US7272820B2 (en) * 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US7143025B2 (en) * 2002-12-13 2006-11-28 Sun Microsystems, Inc. Web simulator
US20060026179A1 (en) * 2003-12-08 2006-02-02 Brown Douglas P Workload group trend analysis in a database system
US7467383B2 (en) * 2004-03-08 2008-12-16 Ab Initio Software Llc System for controlling task execution using a graphical representation of task dependency
JP4381861B2 (ja) 2004-03-26 2009-12-09 富士通株式会社 端末エミュレーションプログラム、記録媒体、負荷試験方法、負荷試験装置
JP2007148582A (ja) * 2005-11-24 2007-06-14 Matsushita Electric Ind Co Ltd タスク実行制御装置、タスク実行制御方法、及びプログラム
US20070174346A1 (en) * 2006-01-18 2007-07-26 Brown Douglas P Closed-loop validator
GB2435362B (en) * 2006-02-20 2008-11-26 Cramer Systems Ltd Method of configuring devices in a telecommunications network
JP4616791B2 (ja) * 2006-05-08 2011-01-19 富士通株式会社 リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法
CN100501695C (zh) 2006-12-25 2009-06-17 中国电信股份有限公司 应用软件在生产环境下的性能预测方法
JP4627539B2 (ja) 2007-07-19 2011-02-09 株式会社日立情報システムズ 負荷試験システムおよび負荷試験データ作成方法、ならびにそのプログラム
JP4491026B2 (ja) * 2008-06-30 2010-06-30 株式会社東芝 情報処理装置、プログラム処理方法及びコンピュータプログラム
US9354944B2 (en) * 2009-07-27 2016-05-31 Advanced Micro Devices, Inc. Mapping processing logic having data-parallel threads across processors

Also Published As

Publication number Publication date
CN102567172B (zh) 2015-08-05
US9823991B2 (en) 2017-11-21
CN102567172A (zh) 2012-07-11
US20120143588A1 (en) 2012-06-07
JP2012123789A (ja) 2012-06-28

Similar Documents

Publication Publication Date Title
JP6045134B2 (ja) アプリケーション性能試験のための並列作業負荷シミュレーション
CN109146081B (zh) 一种用于机器学习平台中创建模型项目的方法及装置
CN114327861B (zh) 执行eda任务的方法、装置、***和存储介质
CN104423961B (zh) 一种生成测试脚本的方法及***
CN106933729A (zh) 一种基于云平台的测试方法和***
CN103942099B (zh) 基于Hive的并行执行任务方法及装置
CN109739762A (zh) 一种应用程序的性能测试方法与装置
CN110806970A (zh) 一种基于模拟服务端响应的客户端测试方法、装置和电子设备
CN108182058A (zh) 一种基于云平台的软件开发方法和云开发平台
Pathania Learning Continuous Integration with Jenkins: A Beginner's Guide to Implementing Continuous Integration and Continuous Delivery Using Jenkins 2
CN112579446A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN108459958A (zh) 功能及性能测试脚本的创建方法、装置、设备及存储介质
CN115860143A (zh) 算子模型生成方法、装置和设备
US20170220438A1 (en) Replicating test case data into a cache with non-naturally aligned data boundaries
CN112199273B (zh) 一种虚拟机压力/性能测试方法及***
CN111435329A (zh) 一种自动化测试方法和装置
CN111897725B (zh) 中台服务自动化测试方法、介质、设备及***
CN115186305B (zh) 一种构建数据元件模型并生产数据元件的方法
Cai et al. Analysis for cloud testing of web application
CN116401025A (zh) 一种数据处理***及数据处理方法
CN108776618A (zh) 分布式工作流管理方法及装置
Tsai et al. Pewss: A platform of extensible workflow simulation service for workflow scheduling research
CN115185825A (zh) 接口测试的调度方法及装置
RU2729210C1 (ru) Комплекс тестирования программного обеспечения электронных устройств
CN114066398A (zh) 业务模型的管理方法、装置、存储介质和终端设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160802

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160816

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: 20161025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161115

R150 Certificate of patent or registration of utility model

Ref document number: 6045134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150