高度なパフォーマンステストのJMeter

JMeterの動作環境の説明

JMeterは、マシンがJDKをインストールされていることを確認する必要がありますので、あなたはJMeterのを使用することができ、Java実行環境に依存しています。

なお:JDK 1.7以降がインストールされ、推奨JDK 1.8バージョンの最良のローカルバージョンを、JMeterのダウン最新の公式ウェブサイトからダウンロードして、それ以外の場合は互換性がありません。

 

必要= VAR( 'エクスプレス')を表す; 
VAR = express.Routerルーター(); 
VAR =必要とHTTP( "HTTP-YKTクライアント"); //ミドルウェアクライアントパラメータの内部req.bdoyに保存されている
/ * GET 。* /リストユーザー
のvar COMM =必要( 'www.feifanyule.cn/./public/js/constantを。'); //これは、サーバのアドレスですが内部で定義された
VAR IP = comm.IP; 
constの= comm.IP IP ; 

router.get( '/'、関数(REQ、RES、NEXT){ 
  res.send( 'Aで応答をリソース'); 
}); 
//取得したチャネル
router.post( '/ A'、関数 (REQ、 RES){ 
  http.post(IP www.yongshiyule178.com + 'AAAA'、req.body).then((データ)=> { 
    //console.log(JSON.stringify(data))
    res.send(データ) ; 
  })
}); 
//これは、インターフェイスを使用するために家であります
router.post( '/主'、www.yigouyule2.cn関数(REQ、RES){ 
    http.post(IP + '/ xhhms /休止/ interfacesLoginController / getMenu'、req.body、req.headers).then((データ)=> { 
      にconsole.log(IP + '/ www.chaoyueyule.com xhhms /休止/ interfacesLoginController / getMenu'); 
        res.send(データ); 
    })
})。

コードをコピー

(1)JMeterは、公式ウェブサイトのアドレスをダウンロードし、こちらをクリックしてください。

(2)最新バージョンをダウンロードすることを選択します:

0sz3DWW.png

最新のバージョン3.3をダウンロードした場合、それが明示的に要求された、JDKのバージョンは1.8でなければならないことに注意してください。バイナリのダウンロードの下の赤いボックスマークされた箇所をクリックします。

(3)ローカルセルフ組み込みディレクトリにダウンロードが完了すると、操作を解凍。

aJpi5NU.png

(4)構成環境変数

新しいシステム変数:JMETER_HOME、変数値:D:\ TestTool \のJMeter \のApache-のJMeter-3.1、図に示すように。

設定CLASSPATH(言葉は、新しいを作成していないため)、変数の値:

%JMETERHOME%\ libに\ extに\ ApacheJMetercore.jar。

%JMETER_HOME%\ libに\ jorphan.jar。

%JMETER_HOME%\ LIB \ logkit-2.0.jar; NO他の値ならば、正面を追加する必要があり、これら三つのジャーは、CLASSPATHに設定する必要があります。

(5)JMeterの開始

Windowsシステムを起動します。binディレクトリにjmeter.batを開始し、それが開始されることに成功し、次のインターフェイスを示します。

操作要素はJMeterの理解

私たちは、JMeterのを使用して、簡単なパフォーマンステストの実践を完了するために、どのように確認するために、新鮮な味に例を使用しています。

テストの背景

(1)ブログサイトの庭のサイトを試験しました。

(2)シナリオがあります。

  • スレッド:仮想ユーザーの数。

  • Ramp-Up period(in seconds,即单位为秒):即为场景加载的策略,设置的虚拟用户数需要多长时间全部启动。如果线程数为 10,时间为 5,也就是说每秒启动 2(2 是线程数 10 除以 Ramp-Up period 而来)个线程。

  • 循环次数:每个线程发送请求的次数。如果线程数为 10,循环次数为 5,那么每个线程发送 5 次请求,总请求数为 10×5=50。

如果勾选了永远,那么所有线程会一直请求直到停止;不勾选永远默认。总的请求运行时间为 Ramp-Up period × 循环次数 = 5 × 5 = 25 秒。

(3)我们想要的指标为:响应时间、错误率以及平均响应时长。

测试基本流程

打开 JMeter 界面后,我们以 HTTP 请求为例开始实践性能测试,基本流程如下所示。

(1)单击“测试计划”|“添加”|“Threads(Users)”|“线程组”命令,如图所示:

2hhVzez.png

(2)单击“线程组”|“添加”|“Sampler”|“HTTP 请求”命令,如图所示:

ADqaUg6.png

对 HTTP 请求的主界面说明如下,下图为 HTTP 主界面:

5IpHdxn.png

  • 名称:原则上可以随意命名,但是最好采用一个有意义的名字,方便后续脚本管理;示例中命名为:博客园 HTTP 请求。

  • 注释:用户记录用户可读的注释信息,但在测试中无任何作用。

  • 服务器名称或 IP:HTTP 请求发送的目标服务器地址或 IP。本案例中服务器名称是:www.cnblogs.com。

  • 端口号:目标服务器的端口号,默认为80。

  • timeouts 超时定义可以不用填写。

  • 协议:向目标服务器发送 HTTP 请求时的协议,可以是 HTTP 或是 HTTPS,默认为 HTTP。

  • 方法:发送 HTTP 请求的方法,有 POST 或是 GET 等。

  • content encoding:内容的编码方式。

  • 路径:目标 URL 路径(不包含服务器地址和端口)。

  • 自动重定向:如果选中该选项,当发送 HTTP 请求后得到的响应是 302/301 时,JMeter 自动重定向到新的界面。

  • Use keep Alive——持久的长链接:如果选中该选项,JMeter 和目标服务器之间使用 Keep-aLive 方式进行 HTTP 通信,默认选中。

  • use multipart/from-data for HTTP POST:当发送 HTTP POST 请求时,使用 use multipart/from-data 方法发送,默认不选中。

  • 同请求一起发送参数:在请求中发送 URL 参数,对于带参数的 URL,JMeter 提供了一个简单的参数化方法,用户可以将 URL 中所有参数设置在本表中,表中的每一行是一个参数值对,一一对应。

  • 同请求一起发送文件:在请求中发送文件,通常 HTTP 文件上传行为可以通过这种方式进行模拟。

  • 从 HTML 文件获取所有有内含的资源:当该选项被选中时,JMeter 在发出 HTTP 请求并获得相应的 HTML 文件内容后,还对该 HTML 进行 Parse 并获取 HTML 中包含的所有资源(图片、Flash 等),默认不选中。

如果用户只希望获取页面中的特定资源,可以在下方的 Embedded URLs must matc件框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的 URL 指向资源会被下载。

  • 用作监视器:此取样器被当成监视器,在 Monitor Results Listener 中可以直接看到基于该取样器的图形化统计信息,默认不选中。

  • Save reponse as MD5 hash?:选中该项,在执行时仅记录服务端响应数据的 MD5 值,而不记录完整的响应数据,在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。

以上说的各项内容一般情况下都选择默认项即可,无需配置。本示例中只需要填写【服务器名称或 IP】即可。

(3)「ブログパークHTTPリクエスト(すなわちHTTPリクエスト)」をクリックしてください|「追加」|「リスナー」|要求が成功したかどうかを観察するために使用され、コマンド「ビューは、ツリーの結果」:

w8en9KC.png

(4)「公園のHTTPリクエスト(すなわちHTTPリクエスト)をブログ」をクリック|「リスナー」| |「追加」「集計レポート」コマンドは、テストの指標を監視するために使用されます。

jDaaM9N.png

(5)のスクリプトを実行します。

JmFkbCI.png

(6)結果の表示ツリー:

これは、結果ツリーから発見され、要求がすべて成功しています。

(7)閲覧集計レポート:

そのモニタリング指標は以下の通りであります:

  • レーベル:HTTP要求定義された名前。

  • サンプル:完全にこのテストによって発行された要求の合計数を表します。

  • 平均:単一の要求に対する応答の平均の長さで使用される場合、平均応答長は、デフォルトでは、コントローラトランザクションは、トランザクション表示ユニットの平均長に応じてもよいです。

  • メディアン:中央値、ユーザの応答の長さの、すなわち50%。

  • 90%のライン:ユーザの応答の長さの90%。

  • 95%のライン:ユーザの応答の95%の長さ。

  • 99%ライン:ユーザーの応答時間の長さの99%。

  • 分:ページにアクセスするには、応答時間の最小の長さ。

  • マックス:ページにアクセスするには、応答の最大長。

  • エラー%:リクエストのエラー/要求の合計数。

  • スループットは:トランザクション・コントローラを使用する場合、デフォルトでは、毎秒完了した要求の数(毎秒Request)を表し、LoadRunnerのはまた、毎秒トランザクションの同様の数を表すことができます。

  • 受信KB /秒:サーバーから受信したデータあたりの終了量。



おすすめ

転載: blog.51cto.com/14529380/2435613