Controller の紹介
負荷テストの実行と監視を可能にする OpenText Professional Performance Engineering ツールである Controller へようこそ。
Controller について
Controller は,シナリオの作成と制御に使用されます。シナリオで,各テスト・セッション中に発生するイベントを定義します。エミュレートするユーザ数(仮想ユーザ数),ユーザが実行するアクション,エミュレーションを実行するマシンなどを制御します。ご使用のサーバの信頼性と強度をチェックするための負荷テストを作成するのにシナリオを使用します。
Controller で仮想ユーザを実行すると,システムの応答に関する情報を収集します。テストの実行後に,それらの情報を Analysis ツールを使って表示できます。たとえば,銀行の ATM から現金を引き出す 100 の仮想ユーザを同時に実行して,そのときのサーバの動作を観察することができます。
スクリプトおよびテストのタイプ
シナリオ実行中,Controller は仮想ユーザ・スクリプトまたはシステム/ユニット・テストを実行します。
仮想ユーザ・スクリプトは,Virtual User Generator(VuGen)で作成されたテスト・スクリプトです。
さらに,Microsoft Visual Studio,Eclipse,IntelliJ IDEA などの外部開発環境と OpenText Professional Performance Engineering API を統合し,ネイティブ環境からテストを実行できるアドインが提供されています。
システム/ユニット・テストは,Microsoft Visual Studio や Eclipse などの外部開発環境で作成された Selenium テストまたは NUnit および JUnit テストを参照します。ネイティブ環境で作業を行い,.dll または .jar ファイルなどのバイナリ形式でユニット・テストを準備してそれらを Controller から実行することが可能です。
使用可能なアドインの詳細については,「コンポーネントとアプリケーション」を参照してください。
Controller の開始ダイアログ・ボックスで,シナリオに含めるスクリプトまたはシステム/ユニット・テストを選択するよう求められます。詳細については,「[新規シナリオ]ダイアログ・ボックス」 を参照してください。
すべての選択内容は,テスト・パスとともに,シナリオ・ファイル(.lrs)に保存されます。Controller の[デザイン]タブでシナリオのその他すべてのアスペクトを定義します。詳細については,「[デザイン]タブ」を参照してください。
Controller 用語
Controller では,以下の用語がよく使用されます。
シナリオ | シナリオは,実際のユーザがアプリケーションで行う仮定のアクションをエミュレートする一連のイベントです。 |
仮想ユーザ | シナリオの中で,実際のユーザが仮想ユーザに置き換えられます。1 台のワークステーションを使えるのは 1 度に 1 人だけですが,1 台のワークステーションで同時に多数の仮想ユーザを実行できます。実際,シナリオには,数十,数百,あるいは数千もの仮想ユーザを含めることができます。 |
仮想ユーザ・スクリプト | 仮想ユーザ・スクリプトには,シナリオの中で仮想ユーザが実行するアクションが記述されます。シナリオを実行すると,各仮想ユーザが仮想ユーザ・スクリプトを実行します。仮想ユーザ・スクリプトは,アプリケーションのコンポーネントのパフォーマンスを測定および記録する関数を含んでいます。 |
トランザクション | サーバのパフォーマンスを測定するには,トランザクションを定義します。トランザクションは,測定対象のアクションまたはアクションの集合を表します。仮想ユーザ・スクリプト内でトランザクションを定義するには,スクリプトの適切なセクションをトランザクション・ステートメントの start と end で囲みます。たとえば,サーバが口座の残高表示要求を処理して,ATM に情報が表示されるのにかかる時間を測定するトランザクションを定義できます。 |
ランデブー・ポイント | 仮想ユーザ・スクリプトにランデブー・ポイントを挿入して,サーバにかかる大きなユーザ負荷をエミュレートします。ランデブー・ポイントはテスト実行中に仮想ユーザを待機させ,複数の仮想ユーザが特定のポイントに到着したときに,それらが同時にタスクを実行するようにします。たとえば,銀行のサーバのピーク時の負荷をエミュレートするためのランデブー・ポイントを挿入して,100 仮想ユーザに同時に,それぞれの口座に預金させることができます。 |
Load Generator | シナリオを実行するときには,Controller によってシナリオの各仮想ユーザが Load Generator に分配されます。Load Generator は仮想ユーザ・スクリプトを実行するマシンで,仮想ユーザが実際のアクションをエミュレートできるようにします。 |
パフォーマンスの分析 | 仮想ユーザ・スクリプトには,負荷テスト・セッション中に,システム・パフォーマンスの測定と記録を行う関数が含まれています。シナリオ実行中に,ネットワークとサーバのリソースを監視できます。シナリオ実行後,レポートとグラフを使ってパフォーマンスの分析データを表示できます。 |
シナリオ内の主要項目
シナリオで定義する主要項目は次のとおりです。
-
シナリオ・タイプ: ゴール指向シナリオまたはマニュアル・シナリオ。
-
テスト: 実行するスクリプトまたはユニット・テスト。
-
マシン: テストの実行対象のマシン。
-
仮想ユーザ: 各マシン上で実行される仮想ユーザの数。
-
スケジュール: 仮想ユーザをロードする方法。
-
モニタ: テストの実行時に監視する測定値。
シナリオ・タイプ
Controller を初めて開くときに,シナリオのタイプをゴール指向かマニュアルか,選択するよう求められます。
-
ゴール指向シナリオ: テストで達成したいゴールを定義します。これらのゴールに基づいてシナリオが自動的に構築されます。
たとえば,同時に実行する特定の数の仮想ユーザに対してゴールを定義することができます。あるいは,分ごとのページ数,秒ごとのヒット数,秒ごとのトランザクションなどのサーバ・パフォーマンスをテストするためにゴールを定義することも可能です。詳細については,「ゴール指向シナリオのゴール・タイプ」 を参照してください。
- マニュアル・シナリオ: 手動で仮想ユーザを追加して,スクリプトまたはユニット・テストを選択します。それらの仮想ユーザを使用可能なマシンに振り分けます。詳細については,「マニュアル・シナリオ」 を参照してください。
ライセンス
ライセンス・ユーティリティを使用すると,現在のライセンスの表示や,新規ライセンスの追加ができます。詳細については,「ライセンスの管理とインストール」を参照してください。
関連項目: