(&&スコープ総務ランデブーを主張するJMeterの実行順序&& && &&)(b)はJMeterのコメントを学習性能テストの道

1 JMeterのワークエリア

ディレクトリツリー、テスト計画の編集領域、メニューバー:JMeterをワークスペースは、3つの部分に分かれています

2つのJMeterの実行順序ルール

次のようにJMeterの実行順序の規則は以下のとおりです。

  • 設定要素
  • プリプロセッサ
  • タイマー
  • サンプラーサンプラー
  • ポストプロセッサ(サーバーの応答が空でない場合)
  • アサート(サーバーの応答が空でない場合)
  • リスナー(サーバーの応答が空でない場合)

PS:サンプラー、タイマー、アサーション、プリ/ポスト・プロセッサが実行される提供されます。そして、サンプリング・ロジック・コントローラは、彼らがテストツリーに表示される順番を行います。

3つのスコープルール

素子構成(コンフィギュレーション素子):その作用範囲内のすべての要素に影響を与えます。

プリプロセッササンプラーは、その作用範囲内の各要素の前に実行される:(パー・プロセッサ)。

タイマー(タイマー):その有効範囲内の各サンプラー

ポストプロセッサ(ポストプロセッサ):その作用範囲内の各要素の後に行わサンプラー。

アサート(表明):行うサンプラーの範囲内の各要素のその実行結果のチェックを。

聴取者(リスナー):各要素と展示サンプラーの範囲に関する情報を収集します。

サンプラー:他のコンポーネントと相互作用せず、したがって、役割の範囲が存在しません。

 

スコープの規則:

JMeterのテスト要素がテストツリー階層の両方のルールを含み、試験要素を含むことは、ルールの順序に従います。

階層ルール(リスナー、構成要素ポストプロセッサ、プリプロセッサは、タイマー、アサートされた)、オーダーのルール(ロジックコントローラ、サンプラー)

図の実行の順序は、一つ、二つ、三つ、四つ

 

図II、階層ルールのみ有効になるのアサーション#1対1;つのアサーション#2ペア、スリー開始

 

図III、階層ルール時間#1要求二つ、三つ、四つの開始、タイム#2の効果にすべてのペア。

 

 

4 JMeterの関連

>応答データ(データがサーバによって返される)を直接指定したデータ - JMeterはA(例えばJDBC要求など)以前の要求からの結果を表示する(例えば、HTTPリクエストなど)後続の要求のために、動的挙動です。

一般的なシナリオ: 1、HTTPリクエスト- > HTTPリクエスト。ログイン成功後、ログインインターフェースを呼び出して、ログイン資格情報は、CSRFは、このような攻撃を防ぐ返され、このようなインタフェースコードを変更するなどの操作の後、支払いインタフェースおよびインタフェースは、このバウチャーを購入する必要があり、app_tokenを生成しました。インタフェースのこの時点で利用できる団体の動作にログインしています。

登録インターフェースのパラメータがある input_code(メッセージ認証コード)もでき

JMeterの関連する二つの方法:定期的に、XPATH(一般的なXML時間はるか付き)

前提条件:

スクリプトはすでに良い記録しました

関連手順:

見出さ関連する要求は、必要(アルファベット+数字のハイブリッド組み合わせ)

要求 - >ポストプロセッサ- >定期- >コンテンツフィル

アサーションを増やします

アサーションの結果を増やします

ファイル名を指定して実行を表示

JMeterは関連する機能はバックページの変数値で取得するために書くことです。

我々は関連付けるために、正規表現の抽出を使用するJMeter、など

リファレンス名:それは次の参照するには、パラメータ名で 
の正規表現:(コンテンツを抽出する)正規表現を抽出するために塗りつぶしを、任意の文字に代わって、*任意の回数の出現を表します。 
テンプレート:使用 $$の前後に引用符、もし正規表現(複数のブラケットを含む)の複数の表現は、参照名数に示さ$ $デジタル最初の値を解決するために使用することができ、例えば、$ 2 $正への解決を識別するタイトルへの2つの値が 
一致番号: 0をチェックするコンテンツを表すランダム、-1すべての残りの正の整数を表すが、抽出されたいくつかの試合の内容は、最初に一致した内容は、我々は、ここで抽出しましたここでは次のように設定された 
デフォルト値:パラメータがそれには、デフォルト値を取らないことを示します。一般的には記入しないでください

5 JMeterのパラメトリック

ありパラメトリック3つの方法が

まず、コンフィギュレーション要素 - > CSVデータ構成の設定

第二に、プリプロセッサ - >ユーザパラメータ

第三に、アシスタント機能

5.1 CSVデータ構成の設定

追加 - > Configを、エレメント> CSVデータ構成の設定。現在、実用的な観点では、ファイル名のみが名前のCSVファイルなしのtxtファイルを使用します。図:

ファイル名:ある、同じディレクトリの csvファイルの名前

エンコーディングファイル:デフォルトは ANSI

Varible名: テキストファイルで定義されたパラメータ名、パラメータ間のカンマで区切られ、スクリプトで定義されているシェル変数と同じように参照することができます。

許可Quoatedデータ: 二重引用符の関連

EOFにリサイクル:設定真、許容サイクル値を

EOFのスレッドを停止します。 場合は EOFのリサイクルがfalseで、EOFの停止スレッドが真である、レコードcsvファイルが読み込まれ、実行を停止

モードを共有:スレッドが共有するかどうかを設定します

5.2ユーザパラメータ

プリプロセッサ - >ユーザパラメータは、図示のように:

 

5.3関数のアシスタント

選択 - >ヘルパー関数は、図示のように:

アシスタント機能最初の書き込みパス

6 JMeterのチェックポイント(アサーション)

チェックポイントという主張でJMeterの。

アサーションを追加するための対応する要求に応答して、

対応する要求結果のアサーションを追加します

一般的な成功は、唯一それ以外の場合は、複数の行が表示されます、1行が表示されます

図:アサーションは、アサーションに応答して、応答時間にアサートすることができるサイズアサーション。

 

アサーションに対応して:サーバーの応答をチェックするためにアサート

レスポンスフィールドテキスト、に応じて、文書(テキスト)、URLのサンプル、応答コード、応答情報、レスポンスヘッダは、ステータスを無視します

応答テキストサーバーの応答テキスト、通常の HTTP応答は、この両方をチェックします

Document(Text):一切Apache Tika支持服务器响应,包括文本响应,还支持PDF、audio等。Jmeter会用Apache Tika去解析服务器响应的内容,会很耗内存,而且容易解析失败,所以一般普通的,不需要选择这个。

Url样本:是对sample的url进行断言。

响应信息:http响应代码对应的响应信息。

7 Jmeter事务

性能测试结果统计时关注的TPS(每秒事务数),每个事务对应的是我们的请求,有时候场景需要把多个操作统计成一个事务,这时就需要逻辑控制器中的事务控制器来完成。

逻辑控制器如图:

 

事务控制器如图:

 

名称:可以随意设置

注释:可以随意设置

Generate parent sample:勾选,可以查看事务控制器下的每个取样器。

Include duration of timer and pre-post processors in generated sample:是否包括定时器、预处理和后期处理延迟的时间。

8 Jmeter 集合点

目的:性能测试需要模拟大量用户并发,集合点能够尽量让虚拟用户同一时刻发送请求,在jmeter中集合点是通过定时器来完成的。

集合点位置:放在操作之前。

同步定时器,用来保证我们的取样器在同一时刻向服务器发起负载,同时提供了同步线程数量的设置,如图:

 

名称:可以随意设置,最好与业务意义。

注释:可以随意设置,可以为空。

Number of Simulated Users to Group by:设置同步的线程数量,在运行测试时,每一个线程的运行时间可能不一样,想要让所有线程都集合在一起可能会等待较长时间,这种情况就可以让一部分集合完毕的线程运行起来。

实战例子:

9 Jmeter用户自定义变量

添加->配置元件->用户定义的变量

 

:用户定义变量的描述性名称,显示在左边节点上,并用于命名事务

注释:用户定义变量的注释信息,非必填项

变量名称:定义变量引用的名称,如:设置变量名为IPAdress 在HTTP请求内引用:${IPAdress}

:给变量赋值比例IP地址值可以设置:192.168.1.100

Description:变量进行描述,可以不填写

添加:添加变量行;

删除:删除变量行;

10 Jmeter实战(从负载-监听)

10.1场景设计

场景是用来尽量真实模拟用户操作的工作单元,场景设计来源于用户真实操作,Jmeter的场景设计主要通过线程组设置来完成(复杂场景需要与逻辑控制器配合)。

场景设计原则是忠于用户实际操作,组合用户的各种操作到场景中。

10.2场景设置

 

名称:可以给线程组设置一个个性化的命名

注释:可以对线程组添加备注以标记

在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行后续的、停止执行等。

线程数:就是需要设置多少线程执行测试。

Ramp-up Period (in Seconds):用于告知JMeter 要在多长时间内建立全部的线程。多长时间内需要把上面的线程数均匀启动完。 默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。

循环次数:就是决定一个线程要跑多少次测试。

Delay Thread creation until needed:直到需要时延迟线程的创建

调度器:选中之后可以配置启动时间,立即或者预定的时间

10.3场景运行

Jmeter的场景运行方式有两种,一种是GUI方式运行(视窗运行),一种是非GUI方式运行(命令窗口)。

10.3.1 GUI运行

  1. 本地运行(用得很普遍,鼠标点击就可以控制启停),运行一台Jmeter机器,所有的请求从一台机器发出。

 

  2. 远程运行

一台Jmeter控制机(Master)控制远程的多台机器(Slave)来产生负载。Jmeter控制机与远程负载机的通信是通过RMI方式来完成的。首先在负载机上运行Agent程序(启动命令是%JAVA_HOME%/bin/jmeter-server.bat),在jmeter控制机上点击运行远程负载机。

其次,远程负载机的IP需要进行配置,打开Jmeter.properties文件,搜索remote_hosts.

 

PS:本机如果作为负载机,也需要把填写IP;远程运行时主要如果有参数化文件,脚本有依赖时,需要手工把这些参数文件、依赖包拷贝到远程机器上。

10.3.2 非GUI运行

命令如下:

 

 

 

10.4测试监听

性能测试监控的主要任务是获取运行状态收集测试结果,测试结果有事务响应时间、吞吐量及服务器硬件性能(CPU、内存、磁盘等)、JVM使用情况、数据库性能状态等。

附录

GUI远程运行特性

  1. 保存测试采样数据到本地机器
  2. 通过单台机器管理多个Jmeter执行引擎
  3. Jmeter GUI客户端会将它发往每一台Jmeter服务器

PS:Jmeter远程服务器都执行相同的测试计划,不会做负载均衡。

おすすめ

転載: www.cnblogs.com/wendyw/p/11626745.html