記事ディレクトリ
1. 性能試験の概要
性能テストの品質はデータを通じて表示する必要があり、性能は性能指標に対応するデータによって判断されます。
2. 一般的なパフォーマンス指標
同時ユーザー数、応答時間、トランザクション応答時間と 1 秒あたりのトランザクション数、ヒット率、スループット、リソース使用率
- 同時ユーザー
同時ユーザーは、システムにストレスを与える可能性があります。
ビジネスレベルでの同時ユーザー数: 同時にサーバーにリクエストを送信するユーザーの数を指します。
バックエンド サーバー レベルでの同時ユーザー数: サーバーに同時に送信される要求の数を指します。
(リクエストさえあれば必ずサーバーがプレッシャーをかけるというわけではありません)
多数のユーザーに負荷をかけ、同時にサーバーに負荷をかける同時操作。
- 反応時間
応答時間は、フロントエンド表示時間とシステム応答時間に分けられます。
フロントエンド表示時間とは、サーバーから返されたデータを受信した後、クライアントがフロントエンド ページをレンダリングするのにかかる時間を指します。
システムの応答時間は、Web サーバー、アプリケーション サーバー、データベース サーバーなどのさまざまなサーバー間で要求を通信および処理する時間に分割されます。
- トランザクション応答時間と 1 秒あたりのトランザクション パス数 (TPS)
たとえば、電子決済操作を使用する場合、バックグラウンド処理で会計システム、サポート システム、銀行システムなどを経由する必要がある場合があります。これは、電子決済トランザクションに関連する操作です。
ユーザーは通常、支払い全体にかかった時間だけに注意を払います。そして、このトランザクション全体のプロセスは、トランザクションの応答時間と呼ばれます。
1 秒あたりのトランザクション数は、通常、1 秒あたりに正常に完了したトランザクションの数を指します。これは、システムの処理能力を測定するための重要な指標です。
1 秒あたりのトランザクション数が多いほど、パフォーマンスが向上します (これは相対的なものであり、システムによって要件が異なり、一部のトランザクションはより複雑になります)。
- クリック率
1 秒あたりのヒット数は、ユーザーがサーバーに送信した要求の数を表します。ヒット率が高いほど、サーバーへの負荷が大きくなります。
注: ここをクリックするのはマウスのクリックではなく、1 回のクリックで複数の要求が発生する場合があります。
- スループット
単位時間あたりにシステムによって処理される顧客要求の数は、ソフトウェア システムのパフォーマンス能力を直接反映します。
スループットは、サーバーのパフォーマンスとネットワークのパフォーマンスの影響を受けます。単位: バイト/秒
- リソースの活用
CPU、メモリ、ハードディスク、ネットワークなど、さまざまなシステム リソースの使用状況。
3. 性能試験の分類
一般性能試験、負荷試験、ストレス試験、安定性試験
- 一般性能試験
通常の状態とシステムの状態でパフォーマンス指標が満たされているかどうか。
- 負荷テスト
システムを検証する システムが「ニーポイント」に達するまで、特定の圧力でシステムの実行時間を延長する
- 圧力試験
すでに極度の負荷がかかっている場合、または特定のインジケーターがすでに飽和状態にある場合に、システムのパフォーマンスを確認します。
(システムの許容限界を理解するために、必ずシステムをクラッシュさせてください)
- 安定性試験
システムが継続的に実行されていることを確認し、システムのさまざまなパフォーマンス インジケータをチェックします。
(メモリリークがないか確認してください)
4. loadRunner ツールの紹介
パフォーマンス指標に対応するデータを計算するには、パフォーマンス テスト ツールを使用する必要があります。
ここでの具体的なインストールは、詳細に書かれているこのブログで見ることができます
(メッセージ数 259) LoadRunner インストール チュートリアル (および中国語版インストール)_Aying-fu's Blog - CSDN ブログ
インストール後、これらの 3 つのソフトウェアがあります。
- Virtual User Generator (VUG): 主にパフォーマンス テスト スクリプトの生成に使用されます。
- コントローラー: テスト シナリオを作成および設計し、テスト スクリプトを実行し、シナリオの実行を監視し、テスト プロセス データを収集します。
- 分析: パフォーマンス テストの結果を分析し、テスト レポートとさまざまなグラフを生成します。
5. VUG を使用する
新しいパフォーマンス テスト スクリプトを作成する
4.1 LR に付属の Web システムを開く
- webTours サービスを開始します。
- 起動が成功したら、コマンド ボックスを閉じずに、ブラウザーで http://127.0.0.1:1080/WebTours/ にアクセスします。
- WebTours システムのログイン アカウントを表示:
Web Tours が提供するデフォルトのアカウントは次のとおりです。
このデフォルト アカウントによって提供されるパスワードは次のとおりです。
4.2 パフォーマンス テスト スクリプトの作成
- WebTours が提供する関数ツール ライブラリを開く
Action()
{
// 1. 访问 http://127.0.0.1:1080/WebTours/ 首页
// 2. 输入登录的账号和密码
web_url("index",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"Referer=",
LAST);
web_submit_form("login",
ITEMDATA,
"Name=username", "Value=jojo", ENDITEM,
"Name=password", "Value=bean", ENDITEM,
LAST);
return 0;
}
スクリプトを実行
これはパフォーマンス テスト スクリプトを作成する最も簡単な方法ですが、この方法ではパフォーマンス テスト データを収集するには不十分です。並行状況、つまり、多数のユーザーが同時に実行する操作である必要があります。
6. 性能テストスクリプトの強化
6.1 トランザクション (lr_start/end_transaction)
开启事务:lr_start_transaction
结束事务:lr_end_transaction
プログラムを実行した後
6.2 ランデブー (lr_rendzvous)
作成したパフォーマンス テスト スクリプトを後で実行するために 100,000 の仮想ユーザーを作成した場合、すべての仮想ユーザーが各ステップを同時に実行することは保証できません. 本当の意味での同時実行性を実現するには、仮想ユーザーにランデブー ポイントまで実行させます.条件が満たされた後に次のステップをまとめて実行する、存続期間の短いコレクション。
6.3 チェックポイント (web_reg_find)
注: リクエストの前にチェックポイントを配置する必要があります
これにより、ページ上の「jojo」のテキストと、対応する検索時間を見つけるように求められます。
6.4 パラメータ化
パラメータに変数名を付けます
設定で渡されるパラメータ
6.5 ログ設定
ログを設定し、最後に ctrl+s を押して保存します
回数または反復: アクション スクリプトが実行される回数を変更します。init スクリプトと end スクリプトには影響しません。
7.スクリプトの記録
記録機能を使用して、パフォーマンス テスト スクリプトを自動生成する
なお、IE ブラウザを使用する必要があります. 他のブラウザ (Edge) を使用すると、記録されてもコードは生成されず、アクション ファイルの内容は常に空です.
8.コントローラーツールの使用
Controllerソフトウェアを直接開くことができます。
また、テスト シナリオを作成するために作成したスクリプトのコントローラー ツールを開くこともできます。
[OK] をクリックして、コントローラー ソフトウェアを自動的に開きます。
- スクリプトを実行する前に仮想ユーザーを初期化するポリシー
- 仮想ユーザーを開始する
- 仮想ユーザーが実行されていた時間
- 仮想ユーザーの終了
シーンを実行する
パフォーマンス テストの実行中にシステム リソースの消費を確認する場合は、関連するシステム設定を開いて、LR が対応するデータを取得できるようにする必要があります。
9. 分析ツールの使用
コントローラー ツールを実行すると、分析ツールが自動的に開き、パフォーマンス テスト レポートが生成され、結果が分析されます。
- 性能試験報告書
- 試験報告書
(1) 仮想ユーザーの実行図: 仮想ユーザーの実行
表示される稼働中の仮想ユーザー数から、サーバーの負荷がどの時間帯にかかっているかを判断できます。
(2) クリック率グラフ (1 秒あたりのクリック数): Hits per Second
一定時間内のサーバーの負荷をクリック率で判断することもできます
(3)スループットグラフ:Throughput
スループットのグラフとクリックスルー率のグラフは少し似ていますが、スループットは応答に応答するリソースの数を表し、返される前に要求がなければならないため、スループット グラフの曲線はわずかに遅れています。
リクエストが増えてもスループットに変化がない場合は、次のことが原因である可能性があります
- サーバーの応答が遅く、応答が遅すぎました。
- サーバーにストレスを与えません。
- サーバーは一定のしきい値を設計しており、要求の数を超えると応答を返しません。
(4) 取引図:取引概要
(5) 平均トランザクション応答時間グラフ: Average Trans…esponse Time
この図では、パフォーマンス テスト中のサーバー上の仮想ユーザーの 1 秒あたりのヒット数が、ヒット数に基づいて仮想ユーザーによって生成された負荷を評価するのに役立つことが分析されています。
さらにグラフを表示する場合は、右クリックして追加します。
前任者の時間
CPU 使用時間、消費されたプロセッサ時間の量
利用可能なメガバイト
使用可能な物理メモリ。通常、このインジケータに基づいて、消費される物理メモリの量を計算します
消費された物理メモリ = 実際のメモリ - 使用可能な物理メモリ。