LoadRunner Professional での負荷テスト

このトピックでは,負荷テストおよび LoadRunner Professional の負荷テスト・プロセスについて紹介します。

システムにどんなテストが必要ですか?

現代のシステム・アーキテクチャは非常に複雑です。かつてないパワーと柔軟性を提供しますが,こうしたシステムをテストするのは困難です。シングルユーザ・テストの主な対象は,1 つのシステム・コンポーネントの機能とユーザ・インタフェースですが,負荷テストの主な対象は,システム全体のパフォーマンスと信頼性です。

たとえば,負荷テストのシナリオの典型例に,月曜の朝,1000 人のユーザがシステムに一斉にログインする様子をエミュレートするというのがあります。システムの応答時間はどうか。システムはクラッシュしなかったか。こうした疑問に答え,さらに多くの役割を果たすために,完成されたアプリケーション・パフォーマンス・テスト・ソリューションは,次のことを行う必要があります。

  • さまざまなソフトウェア・アプリケーションとハードウェア・プラットフォームを組み合わせたシステムのテスト

  • 特定のアプリケーションに対するサーバの適合性の調査

  • 必要なクライアント・ソフトウェアの開発完了に先立つサーバのテスト

  • 複数クライアントと単独サーバ・アプリケーションとの対話環境のエミュレーション

  • 数十,数百,あるいは数千の潜在ユーザの負荷をかけた状態でのアプリケーションのテスト

LoadRunner Professional スイートでは,使用アプリケーションの実際の動作をエミュレートする負荷テストの作成が可能です。

先頭に戻る

LoadRunner Professional ソリューション

従来の手動によるテストでは,負荷テストに対するソリューションの一部しか提供されません。たとえば,システムで多数のユーザが同時に作業する環境を構築すれば,システム全体を手動でテストすることができます。各ユーザは,1 台のマシンで作業し,システムに入力を送ります。ただし,この手動によるテストには,次のような問題点があります。

  • 人員と機材がともに大量に必要になるため,非常にコストがかかる。

  • 多数のテスト要員を統率して,作業の同期化を図らなくてはならない点など,大変複雑な要素がある。

  • 結果の記録と分析を意味のある形で行わなくてはならないなど,高度な体系化が必要になる。

  • 手動でテストの反復を行うことに限界がある。

LoadRunner Professional は,前述の手動によるパフォーマンス・テストの問題点を解決します。

  • LoadRunner Professional は,実際のユーザを仮想ユーザに置き換え,テストに必要な人員を減らします。仮想ユーザは,実ユーザの動作,つまり実際のアプリケーションの操作をエミュレートします。

  • 1 台のコンピュータで多数の仮想ユーザを実行できるため,LoadRunner Professional はテストに必要なハードウェア量を減らします。

  • Controller を使って,仮想ユーザを 1 か所から制御できます。

  • LoadRunner Professional はアプリケーションのパフォーマンスをオンラインで監視するため,テスト実行中にシステムを適切に調節できます。

  • LoadRunner Professional はテスト中に,アプリケーションのパフォーマンスを自動的に記録します。さまざまなグラフやレポートから,表示するパフォーマンス・データを選択できます。

  • LoadRunner Professional は,パフォーマンス遅延がどこで発生したかを調べます。ネットワークまたはクライアントの遅延,CPU のパフォーマンス,I/O の遅延,データベースのロック,あるいはデータベース・サーバにおけるその他の問題などです。LoadRunner Professional は,ネットワークとサーバのリソースを監視して,パフォーマンスの向上を支援します。

  • LoadRunner Professional のテストは完全に自動化されているため,必要なだけ何回でもテストを繰り返せます。

先頭に戻る

テスト・プロセス

以下の手順では,LoadRunner Professional のテスト・プロセスの一般的な概要について説明します。

  1. テストの計画

    負荷テストを成功させるには,綿密なテスト計画を作成する必要があります。テスト計画を明確に定義しておけば,負荷テストの目標を確実に達成する LoadRunner Professional のシナリオを作成できます。詳細については,「負荷テスト・シナリオの計画」を参照してください。

  2. 仮想ユーザ・スクリプトの作成

    仮想ユーザは,Web ベースのアプリケーションと対話する実際のユーザをエミュレートします。仮想ユーザ・スクリプトには,シナリオ実行中に各仮想ユーザが実行するアクションが含まれています。

    仮想ユーザ・スクリプトに,次のタスクを明記します。

    • 各仮想ユーザが実行するタスク

    • 複数の仮想ユーザが同時に実行するタスク

    • トランザクションとして測定されるタスク

    仮想ユーザ・スクリプトの作成の詳細については,Virtual User Generator ヘルプセンター(該当するバージョンを選択)を参照してください。

  3. シナリオの設計

    シナリオには,テスト・セッション中に発生するイベントが記述されます。シナリオには,仮想ユーザを実行するマシンのリスト,仮想ユーザが実行するスクリプトのリストが含まれ,シナリオ実行中に活動する仮想ユーザ数または仮想ユーザ・グループ数が指定されています。シナリオを設計する場合,シナリオの設定とスケジュール設定を行います。スケジュール設定によって,すべての Load Generator と仮想ユーザがシナリオ実行中にどのように動作するのかが決定します。

    Controller を使ってシナリオを設計します。LoadRunner Professional シナリオの詳細については,「シナリオの設計」を参照してください。

  4. シナリオの実行

    複数の仮想ユーザがタスクを同時に実行するよう指定することにより,サーバ上でユーザの負荷をエミュレートします。シナリオ実行中,LoadRunner Professional は各仮想ユーザ・スクリプトで定義されているトランザクションを測定し,記録します。タスクを同時に実行する仮想ユーザ数を増減することによって,負荷のレベルを設定できます。また,システム・パフォーマンスをオンラインで監視することもできます。詳細については,「Controller でのシナリオの実行」を参照してください。

  5. シナリオの監視

    システムのボトルネックを特定し,どの構成要素がファイルのロック,リソース競合,ネットワーク過負荷などのパフォーマンスの低下を引き起こしているか判断する LoadRunner Professional 監視コンポーネントを設定します。新しいネットワークおよびマシンの監視ツールとともに LoadRunner Professional を使って,システムのさまざまな場所で負荷を生成し,パフォーマンスを測定します。監視の詳細については,「負荷テスト・シナリオの監視」を参照してください。

  6. テスト結果の分析

    シナリオ実行中,LoadRunner Professional は,さまざまな負荷の下でアプリケーション・パフォーマンスを記録します。LoadRunner のグラフやレポートを使って,アプリケーションのパフォーマンスを分析します。レポートとグラフの詳細については,「Analysis の紹介」を参照してください。

先頭に戻る

関連項目: