このセクションでは、仮想アセットのパフォーマンスを具体的に制御するためのパフォーマンス プロファイルの使用方法について説明します。
セクションの内容:
パフォーマンス プロファイルは、仮想アセットのパフォーマンスを具体的に制御するために使用できます。それぞれの仮想アセットのパフォーマンスは、依存アプリケーションの実際のパフォーマンスを反映するように、またはテストしたい特定のパフォーマンス モデルをシミュレートするように設定できます。たとえば、固定のレスポンス遅延およびレスポンス遅延の範囲、または、アプリケーションのヒット率に依存する遅延をシミュレートしたい場合があります。負荷テストの遅延には、線型レスポンス テンプレート モデルまたは指数関数レスポンス テンプレート モデルを利用できます。また、スクリプトを使用してユーザー任意のパフォーマンス プロファイル モデルを作成できます。さらに、アプリケーション パフォーマンス管理 (APM) ツールによって外部アプリケーションをモニタリングしている場合、APM のパフォーマンス データをパフォーマンス プロファイルにインポートすることができます。
パフォーマンス プロファイルを使用すると、依存性が異なるパフォーマンス条件の範囲を示すとき、ユーザーのテスト対象アプリケーションがどのように応答するかを見ることができます。たとえば、次のことが可能です。
パフォーマンス構成 (パフォーマンス プロファイルおよびパフォーマンス グループを含む) は、各レスポンダー スイートに定義できます。Virtualize サーバーに仮想アセットがデプロイされると、[Virtualize サーバー] ビューまたは CTP のいずれかから、パフォーマンス プロファイルをパフォーマンス グループにその場でマッピングできるようになります。
たとえば、次の場合を想定します。
エミュレートしているアプリケーションの期待されるパフォーマンスに基づいて、 Virtualize レスポンダー スイートでレスポンダーを 2 つのパフォーマンス グループ (在庫検索グループと注文グループ) に割り当てた。
この場合、2 つのデプロイメント シナリオをエミュレートするために、パフォーマンス プロファイルをパフォーマンス グループにマッピングすることで、関連する仮想アセットをセットアップします。
エミュレーション シナリオ | 在庫検索パフォーマンス グループ | 注文パフォーマンス グループ |
---|---|---|
内部デプロイメント | 負荷依存指数関数パフォーマンス プロファイル | 固定遅延パフォーマンス プロファイル |
クラウド デプロイメント | 負荷依存線型パフォーマンス プロファイル | 高速固定遅延パフォーマンス プロファイル |
各レスポンダー スイートに次を定義できます。
各パフォーマンス プロファイルは、関連するレスポンダー スイートに適用できる、詳細な負荷パターンを定義します。任意の数のパフォーマンス プロファイルを定義できます。
パフォーマンス プロファイルを追加するには、次の操作を行います。
パフォーマンス プロファイルの定義が完了したら、更新されたレスポンダー スイートを保存します。
固定レスポンス遅延は次のように設定します。
範囲遅延は、遅延範囲幅の最小値および最大値を指定できます。実際の遅延は指定した範囲内で均等に分配されます。
範囲遅延は次のように設定します。
負荷依存レスポンス遅延は次のように設定します。
グラフに指定された値より大きいヒット率 (HPS) すべてに、グラフ右端のレスポンス遅延の値が使用されるので注意してください。たとえば、グラフ右端のキーが 10 HPS で 1500 ミリ秒の場合 (上記ステップ 3 のグラフ)、10 HPS より大きい HPS 率はすべて、1500 ミリ秒のレスポンス遅延を使用します。
パフォーマンス プロファイルの振る舞いをスクリプトにできます。スクリプト メソッドは、次の特性を持っている必要があります。
スクリプトの詳細については、「スクリプトを使用した拡張機能の基礎」を参照してください。
パフォーマンス プロファイルの遅延はレスポンダーの処理時間に追加されるので注意してください。ほとんどの場合、「ゼロ遅延」レスポンスの時間によって、実際のレスポンス時間はパフォーマンス プロファイルのレスポンス遅延を超過します。
さらにレスポンダー レベルで指定した「思考時間」または「レスポンス時間」の遅延がパフォーマンス プロファイルの遅延に追加されます。
「アプリケーション パフォーマンス管理 (APM) システムからパフォーマンス プロファイルをインポート」を参照してください。
複数のレスポンダーで 1 つのパフォーマンス プロファイルを共有できるので、レスポンダーは 1 つの特定のパフォーマンス グループにまとめるべきです。関連する仮想アセットがデプロイされるとき、ユーザー (またはチーム メンバー) は、どのパフォーマンス プロファイルをどのパフォーマンス グループに適用するかをマッピングできます。
ユーザーは任意の数のパフォーマンス グループを作成できます。各レスポンダーは 1 つ以上のパフォーマンス グループに含まれることはできません (例: 1 つのレスポンダーは複数のパフォーマンス グループにまたがって使用できません)。
パフォーマンス グループを定義するには、次の操作を行います。
パフォーマンス グループの定義が完了したら、更新されたレスポンダー スイートを保存します。
パフォーマンス プロファイルおよびパフォーマンス グループが設定されたら、それらを [Virtualize サーバー] ビューまたは CTP から仮想アセットにすぐに適用できます。そのため、ユーザーは仮想アセットのパフォーマンス状態をすぐに設定/変更できます。
次の手順で、 [Virtualize サーバー] ビューからパフォーマンス設定を仮想アセットに適用できます。
詳細については、「Working with Performance Profiles」を参照してください。
ほかの場所で構成された思考時間または遅延は、パフォーマンス プロファイルで指定された遅延に追加されます。思考時間は次のレベルでそれぞれ構成できます。
アプリケーション パフォーマンス管理 (APM) システムは、アプリケーションのパフォーマンスと可用性をモニタリングおよび管理するためのツールを提供します。APM システムは、モニタリングするアプリケーションのパフォーマンス データを収集します。Virtualize パフォーマンス プロファイル インポーターは、APM システムに対してパフォーマンス データを検索し、モニタリングしているアプリケーションのパフォーマンス メトリクスに基づいてパフォーマンス プロファイルを作成することができます。
APM システムに対してパフォーマンス メトリクスを検索し、選択したメトリクスをパフォーマンス プロファイルとしてインポートするには、以下の操作を行います。
_Fixed
を付加します。_Range
を付加します。以下は AppDynamics 固有のクエリー パラメーターです。
パラメーター | 説明 |
---|---|
username | AppDynamics アカウント ユーザー名。 |
password | AppDynamics アカウント パスワード。 |
host | AppDynamics Controller がインストールされるホスト名。 |
port | AppDynamics Controller が REST クライアントをリスンするポート。AppDynamics Web インターフェイスにアクセスするために使用されるポートと同じです。 |
tier | AppDynamics で設定されている層の名前。 |
transaction | 選択したアプリケーションと層のすべてのトランザクションを見るには、* に設定します。 トランザクション名に設定すると、個々のトランザクション単位でフィルタリングできます (トランザクション名は、AppDynamics Metric Browser ツリーの Business Transactions Performance> Business Transactions ノードに表示されます)。 |
timeIntervalMinutes | パフォーマンス メトリクスを計測するために使用される時間間隔 (単位は分)。 |
AppDynamics パフォーマンス プロファイル インポーターは、AppDynamics に対して、アプリケーションの構成およびデータ ツリーの Analyze > Metric Browser ノードにあるデータを検索します。AppDynamics Metric Tree ビューで、このデータは Business Transaction Performance > Business Transactions > YourTier の下に表示され、そして Average Response Tim
e メトリクスノードの下に表示されます。
以下は dynaTrace 固有のクエリー パラメーターです。
パラメーター | 説明 |
---|---|
username | dynaTrace アカウント ユーザー名。 |
password | dynaTrace アカウント パスワード。 |
host | dynaTrace Client がインストールされるホスト。 |
port | dynaTrace Client がインストールされるポート。デフォルト値は 8020 です。 |
dashboard | dynaTrace Client で設定されているダッシュボード名。 |
method | ダッシュボードのすべての Web サービス メソッドと Web リクエスト URI を参照するには、* に設定します。 Web サービス メソッド名と Web リクエスト URI に設定すると、個々のトランザクションでフィルタリングできます。 |
dynaTrace パフォーマンス プロファイル インポーターは、dynaTrace Client 内の選択されたダッシュボードの Web サービスと Web リクエストのダッシュレットに対して、Web サービス メソッドと Web リクエストのパフォーマンス データを検索します。
Web サービスと Web リクエストのいずれかまたは両方のダッシュレットを、クエリー パラメーターで指定したダッシュボードに含める必要があります。
Web サービスまたは Web リクエストの Total Avg/Total Min/Total Max 列が表示されていることを確認してください。表示されている場合、列のデータを REST クエリーでパフォーマンス プロファイル インポーターに利用できます。
適切なパフォーマンス プロファイル インポーターのデプロイメント記述子ファイルを変更することで、[インポート] ダイアログの [ クエリー プロパティ] の表に表示されるデフォルト値をカスタマイズできます。デプロイメント記述子ファイルは、apm-integration/performance-profileimporters フォルダーまたはルートディレクトリ (<virtualize_install_dir>/eclipse/plugins/com.parasoft.xtest.libs.web_<version>/root) にあります。
環境に合わせて、AppDynamics.xml および dynaTrace.xml パフォーマンス プロファイル インポーターのデプロイメント記述子ファイルの値属性を適切に変更します。
<performance-profile-importer name='AppDynamics' class="com.parasoft.profiles.apm.common.appdynamics.AppDynamicsPerformanceProfileImporter"> <!-- AppDynamics 3.8.2 --> <property name='username' value='admin@customer1'/> <property name='password' type='masked' value='admin'/> <property name='host' value='myhost.mycompany.com'/> <property name='port' type='int' value='8090'/> <property name='application' value='MyApplication'/> <property name='tier' value='MyTier'/> <property name='transaction' value='*'/> <property name='timeIntervalMinutes' type='int' value='4320'/> </performance-profile-importer> |