- テスト高度化
<技術解説>Citrixのレスポンスが遅い…を未然に防ぐ!LoadRunnerによる負荷テストの勘所
2026.04.15

現在LoadRunnerは新製品名称に変わっていますが、本記事では旧製品名称のLoadRunnerで記載しています。
旧製品名称:LoadRunner Professional
新製品名称:OpenText Professional Performance Engineering
このページでわかること
Citrix Virtual Apps and Desktops(以下、Citrix)環境の遅延を未然に防ぐには、カタログスペックを過信せず、本番前に「システムの限界点」を正確に把握することが不可欠です。
本記事では、Citrix独自のICAプロトコルに対応したLoadRunnerを活用し、実効性の高い検証を行うための以下のポイントを解説します。
- リアルタイムモニタリングによる「迅速な原因特定」:
負荷による遅延が発生した際、即座にボトルネックとなっているコンポーネントを特定すること。 - 実業務を忠実に再現する「シナリオ設計」:
単なるアクセスではなく、実際のユーザー操作を詳細に定義し、テストの精度を高めること。 - 徹底した「リハーサルと本番テスト」:
本番環境特有の挙動を事前に洗い出し、システムの安定稼働を確実に担保すること。
LoadRunnerを最大限に活用し、現場で役立つ負荷テストのノウハウを公開します。
なぜCitrixのパフォーマンスは「想定外」に低下するのか?
Citrixは非常に優れたソリューションですが、カタログスペック通りに動くかどうかは別問題です。実際の導入環境では、ネットワークやアプリの挙動が複雑に絡み合い、以下のような「想定外のパフォーマンス低下」が起きるケースがあります。
1.ログインストームによる遅延
多くの企業が直面するのが、始業時間直後などにアクセスが集中する「ログインストーム」による影響です。短時間に大量のリクエストが押し寄せることで、StoreFrontやDelivery Controllerといった管理コンポーネント、さらにはセッションを受け持つRDSサーバーの負荷が急増します。
その結果、公開デスクトップやアプリが開くまでに多大な時間がかかったり、タイムアウトエラーが起きて社員が業務を開始できないケースもあります。
2.プロファイル/PVSサーバーなどのバックエンド負荷
負荷はVDA(Virtual Delivery Agent)だけでなく、プロファイルサーバーやPVSサーバー(Provisioning Services)、およびそれらを結ぶネットワーク経路にも集中します。
その結果、仮想マシンの起動に失敗したり、移動プロファイルの読み込みに時間がかかりデスクトップが表示されない、といった問題が発生します。
3.RDS(VDA)サーバーのリソース枯渇
ログイン完了後、ユーザーが業務アプリを一斉に操作することで、RDSサーバーのCPUやメモリが枯渇します。これにより、文字入力の反応遅延や画面描画のカクつき、アプリのフリーズといった現象が起き、ユーザー体験が著しく低下します。
これらの問題を未然に防ぎ、快適なCitrix環境を提供するためには、実環境に近い負荷をかけた検証が不可欠です。特に大規模環境やミッションクリティカルなシステムにおいては、本番稼働前に「机上の計算に基づく設計が、実際のサーバー環境(実機)でも正しく機能するか」を検証する負荷テストが極めて重要です。
Citrix環境の検証にLoadRunnerが選ばれる3つの理由
アシストでは、Citrix環境の負荷テストツールとしてOpenText社の「LoadRunner Professional」を採用しています。
1.「Webプロトコル」と「ICAプロトコル」の両方に対応
Citrix環境へのアクセスは、以下の2段階の通信で行われます。
- 入り口(StoreFront)へのアクセス:Webプロトコル
- 公開デスクトップ/アプリの操作:ICAプロトコル
JMeterなどのOSSツールはWebプロトコルには対応していますが、Citrix独自の画面転送プロトコルであるICAプロトコルには対応していません。その点、LoadRunnerはICAプロトコルに標準対応しているため、「StoreFrontへのログインから、公開アプリ上での業務操作まで」を一気通貫でテスト可能です。
2. コストを最適化する「期間」と「規模」に応じた柔軟なライセンス
LoadRunnerのライセンスは、システムのピーク時を想定した「テストで負荷を発生させるユーザー数」のみを対象としています。Citrixを利用する全ユーザー数で契約する必要がないため、大規模環境ほどコストを抑えられます。
さらに、利用期間についても1ヶ月単位など、プロジェクトに合わせた短期契約が可能です。そのため、「システムのピーク時に想定されるユーザー負荷を、1ヶ月間だけ集中的に検証したい」といったスポットでのテスト要件にも柔軟に対応できます。
3. エージェントレスで実現する「Windowsリソース」リアルタイム監視
1台のサーバーで複数のユーザーセッションを処理するVirtual Appsでは、特定のサーバーへ負荷が集中しやすく、システム全体のボトルネックになりがちです。だからこそ、リアルタイムなモニタリングで「遅延が起きるかどうか」と「その原因」を特定することが不可欠です。
LoadRunnerなら、テスト対象サーバーに特別なエージェントを導入することなく、OS標準のカウンター経由でCPUやメモリ、ディスクI/Oのリソース値を直接取得可能。サーバーに余計な負荷をかけずに、負荷集中の兆候をいち早く、かつ正確に特定できます。
負荷テストを成功させるための5つの勘所
Citrix環境の導入やリプレースにおいて、稼働後のパフォーマンス不足を未然に防ぐには、実環境に近い負荷をかけた検証が不可欠です。
しかし、単に負荷をかけるだけでは、本番の挙動を正確に予測することはできません。本番稼働への確かな根拠を得るために、現場で外してはならない「5つの勘所」を解説します。
1. テストの目的を明確にし、指標を言語化する
Citrix環境の負荷テストは、「なんとなく負荷をかけて様子を見る」では意味がありません。現行環境でどのような問題が起きているのか、あるいは新環境で何を防ぎたいのかを言語化するところから始めます。
例えば、現行システムで始業時間帯のログインに時間がかかっているのであれば、「次期システムでは、同規模の同時ログインが発生しても、公開デスクトップが○秒以内に開くことを確認する」といった指標を整理し、言語化します。
2. ユーザーの体感値とサーバー負荷を「両面」から評価する
目的が決まったら、「合格ライン」を数値で定義します。単一の平均値だけでなく、90パーセンタイル(全体の90%が目標値以内か)などの統計値を用いることで、ピーク時の「リアルな体感」に近い判断が可能になります。また、サーバー側のCPU使用率(継続して90%を超えないなど)との両面で評価します。
3. 仮想デスクトップ特有の負荷パターンをシナリオに反映する
Citrix環境の負荷テストでは、単なるWebシステムとは異なる「Citrix特有の挙動」を再現するシナリオ設計が重要です。
「一斉ログオン(ログインストーム)」だけでなく、日中の「複合的な業務操作」や「長時間連続利用によるリソース枯渇」など、実際の利用パターンに結びついたシナリオこそが、現場ユーザーにとって意味のある検証結果となります。
4.クライアント応答時間とリソースの相関からボトルネックを特定する
「負荷をかけること」は手段であり、ゴールは「ボトルネックの特定」です。そのためには、クライアント側の応答時間とサーバー側のリソース(CPU/メモリ/ディスクI/O)を、リアルタイムで重ね合わせて分析する必要があります。そうすることで、遅延の原因となっているコンポーネントを正確に特定できます。
5.リハーサルや再テストを見越した余裕のある体制を組む
負荷テストの計画では、問題が起きない前提でスケジュールを組んだり、リハーサルを省いて本番に臨んだりするケースが多く見られます。しかし、実際にはほとんどのプロジェクトで何らかの問題が発生しています。
過去には、リハーサルで解消できたはずの軽微な設定不備が本番当日に露呈し、テスト自体が延期になった例や、リリース直前のパフォーマンス不足に対して場当たり的な修正で対応せざるを得なくなった例もあります。
そのため、まずはリハーサルで「テスト環境そのもの」に問題がないかを十分に確認してください。そして、本番後のチューニングと再テストまでを見越した余裕のあるスケジュールを組むことが、システムの品質を確実に担保し、万全の状態でリリースするための鍵となります。
アシストのノウハウを活かした負荷テスト支援のステップ
ここからは、アシストが実際に提供している負荷テスト支援のステップをご紹介します。
| ステップ | 内容 | 主担当 | |
|---|---|---|---|
| 1 | テストの目的や評価基準の設計 | ログインストームなどのシナリオ策定と目標応答時間の定義 | お客様/アシスト |
| 2 | LoadRunner環境の構築 | 目標負荷に見合った構築計画と環境準備・構築 | お客様/アシスト |
| 3 | テストスクリプトの作成 | 実際の操作手順(ログイン〜アプリ操作)の記録 | アシスト |
| 4 | シナリオの作成 | ユーザー数やログインペース(ランプアップ)の実行計画策定 | アシスト |
| 5 | リハーサル・本番テスト | 潜在的な課題を洗い出す「リハーサル」と本番テストの実行 | アシスト |
| 6 | 結果報告 | 測定データの集計とリソース状況を踏まえたボトルネック分析 | アシスト |
1.テストの目的や評価基準の設計
お客様にて「どのような状況を再現したいか」「何をもって成功とするか」を定義し、実際の業務に即したテストシナリオと明確な評価基準を設けます。
【評価基準の例】
| 項目 | 内容 | 評価基準 | |
|---|---|---|---|
| 1 | ログインストーム | 100ユーザー/分のペースでログインし、合計1000ユーザーまでログインする |
・公開デスクトップを開く時間の90パーセンタイル値が40秒以下であること
・RDSサーバーのCPU使用率が継続して90%を超過しないこと
|
| 2 | 業務アプリ操作 | A業務の操作を500ユーザー、B業務の操作を500ユーザーで30分間反復実行する |
・A業務の特定操作の応答時間が5秒以下であること
・B業務の特定操作の応答時間が10秒以下であること
・RDSサーバーの空きメモリが枯渇しないこと
|
2.LoadRunner環境の構築
LoadRunnerは、メインの制御を行う「Controller」と、実際に負荷を生成する「Load Generator」で構成されています。Citrixの負荷テストでは画面転送の処理を行うため、一般的なWebシステムの負荷テストと比較してLoad Generator側に高いマシンスペックが求められます。
スクリプトやスペックによりますが、Load Generator 1台あたりで生成できる負荷は30〜40ユーザー程度です。そのため、目標とする同時接続数に応じて十分な台数を用意する必要があります。アシストではお客様のシナリオと過去の実績を踏まえて、最適な環境を構築します。
Controller :全体のシナリオ実行を制御し、複数の負荷生成マシン(Load Generator)へ
指示を出します。また、各マシンから送られてくる測定データをリアルタイム
で集計・可視化する役割を担います。
Load Generator:Controllerからの指示を受け、実際にCitrixセッションを立ち上げて負荷を生成
します。
例):1,000ユーザーの負荷をかける場合
余裕をもって、1台あたり30ユーザーと見積もると約34台のLoad Generatorが必要
|
|
3.テストスクリプトの作成
環境構築後、個々の操作手順(スクリプト)を作成します。
LoadRunnerの機能(VuGen)を使い、StoreFrontへのログインから公開アプリの操作までを記録します。デスクトップ内の操作(ICAプロトコル)は、転送されてくる画面の絵を操作するため、画像認識やマウス操作を主体としたRPAのような記述になります。
アシストでは過去のノウハウをもとに、以下のポイントを押さえてスクリプトを作成しています。
スクリプト作成におけるポイント
操作と画面の同期 :ウィンドウが開いたことを確認してから次のクリックをするなど、
実際の画面表示に合わせて記録します。例えば、Google Chrome
起動後に「新しいタブ」と表示された部分を画像認識する設定など
を行います。
応答時間の測定 :測定したい箇所に「トランザクション」を設定します。これに
より、開始から終了までの応答時間を測定できます。
ユーザー名のパラメータ化 :ログインユーザー名を「パラメータ化」し、テキスト情報で準備した
リストから読み込む設定をします。これにより、ユーザーを変えて
ログインする実際の負荷テストを再現できます。
4.シナリオの作成
作成した個別のスクリプト(操作手順)を組み合わせ、本番の利用状況を模した「シナリオ(実行計画)」を作成します。
下図のように、「ログイン」や「業務操作」といったスクリプトを、検証目的に合わせて配分します。さらに「1分間に何人ずつログインさせるか(ランプアップ)」といった負荷の上げ方を詳細に定義することで、始業開始時のログインストームや、日中の複合的な負荷状況を正確に再現します。
スクリプト・シナリオ例
|
|
5.リハーサル・本番テスト
前述したように、いきなり本番テストを行うのではなく、まずはリハーサルの実施を強く推奨します。
リハーサルを行うことで、スクリプトの調整不足やCitrix側の設定不備を事前に解消できます。また、問題発覚後のチューニングや再テストには数週間単位の期間を要するため、それらを見越した余裕のあるスケジュールを確保してください。
6.結果報告
テスト終了後、収集したデータを分析しアシストにて報告書を作成します。LoadRunnerに付属する「Analysis」という分析ツールを使用すると、トランザクション応答時間の統計情報やサーバーリソースのグラフ表示を確認できます。「CPU使用率が高騰したタイミングで応答時間が遅延している」といった相関関係も確認可能です。
トランザクション応答時間の統計情報(報告書より)
CPU使用率のグラフ(報告書より)
負荷テスト実施の全体スケジュール
プロジェクト開始前には、お客様のCitrix環境でLoadRunnerが問題なく動作するかを確認するPoCを実施しています。
ライセンスの手配、環境構築、スクリプト作成、リハーサル、本番テスト(および予備日)を含めると、PoCから結果報告までは3〜4ヶ月程度かかるケースもあります。
また、負荷テストの結果、大きなボトルネックが見つかりチューニングが必要になった場合は、再テストのためにさらに期間が必要です。余裕を持ったスケジュールをご検討ください。
スケジュール例
|
|
まとめ
Citrix環境のパフォーマンスは、ユーザーの生産性に直結する重要な要素です。複雑な構成になりがちなCitrix環境だからこそ、LoadRunnerのように「Web」と「ICA」の両方に対応し、サーバーリソースまで詳細に可視化できるツールでの検証が求められます。
アシストではライセンスの提供だけでなく、豊富な実績に基づいた技術支援を提供可能です。Citrix環境のパフォーマンスに不安がある場合や、新規構築時の性能検証をご検討の際は、ぜひ一度ご相談ください。
Citrixの負荷テストに関するご相談やお問い合わせ
「Citrixの負荷テストについて相談したい」「実際に製品を見てみたい」といった方は、ぜひ無料相談会やLoadRunnerのデモンストレーションにお申し込みください。専門エンジニアが、お客様の状況に応じてご提案をいたします。
著者情報
|
|---|
矢野 英也
2001年入社。テストツールの紹介、サポート、技術支援を担当。年間何十件もの負荷テストを支援し、その経験を他のお客様にも伝えるべく、セミナーや技術情報配信を行っている。
月1回のゴルフと年1回の同期BBQを楽しみに日々奮闘中。昭和生まれのうま年。
関連ソリューション
-
テスト高度化
テスト環境の構築から機能テスト、負荷テスト、セキュリティテストなどあらゆる状況でのテストを支援します。
お客様の状況に合わせて詳しい情報をお届けします。
お気軽にご相談ください。





