ストレステストツールのApacheのJMeter:5:WebアプリケーションのテストのためのHTTPリクエストを使用して

オリジナル: ストレステストツールのApacheのJMeter:5:WebアプリケーションのテストのためのHTTPリクエストを使用して

ここに画像を挿入説明
ApacheのJMeterは負荷テストや性能テストのための純粋なJavaのオープンソースソフトウェアです。最初のJMeterでnginxのドッカーを用いて容器アップこの記事プル、ストレステストのWebアプリケーションに設計されており、そのような措置の圧力を受けるストレステストプロセスに使用のJMeterを導入する簡単な例と方法。

環境の準備

アパッチのJMeterは、インストールの方法の概要は、以下を見つけることができます:

  • https://liumiaocn.blog.csdn.net/article/details/101264380

ストレステストアプリケーション準備

使用ポートに8088は、例が下に示されている(他の方法でも使用することができる)ドッカーアプリケーションnginxのローカルマシンを起動します。

liumiaocn:~ liumiao$ docker images |grep nginx |grep latest
nginx                                           latest                          e445ab08b2be        2 months ago        126MB
liumiaocn:~ liumiao$ docker run -p 8088:80 -d --name=nginx-test nginx:latest
a80fb1a4fc20627891a6bd7394fd79ae9aefb7dc8cf72c12967bc2673a815308
liumiaocn:~ liumiao$ 

  
  
  • 1
  • 2
  • 3
  • 4
  • 5

curlコマンドを使用するか、または実行されているnginxのを確認するために、ブラウザに指示

liumiaocn:~ liumiao$ curl http://localhost:8088/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
liumiaocn:~ liumiao$

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

準備の前提を確認するためにテストを準備するには、次の手順を実行します。

  • ステップ1:以下に示すように、テストプログラムに情報選択メニューをスレッドグループを追加します。
    ここに画像を挿入説明

  • ステップ2:以下のようにスレッドグループ作成したばかりの、情報選択メニューのサンプラーのHTTPリクエストを追加します。
    ここに画像を挿入説明

  • ステップ3:以下のようにメニュー情報を選択し、重合レポートを追加します。
    ここに画像を挿入説明

  • ステップ4:保存テスト計画
    /tmp/nginx-test.jmxとして結果のテスト計画を保存するには[保存]ボタンをクリックします

  • ステップ5:ファイルページセットJTL重合レポート
    セットおよび重合JTLのレポートページでファイルパスを書き込みます。/tmp/nginx-test.jtl
    ここに画像を挿入説明

HTTPテスト

HTTP GET成功したテストを行うために、JMeterのHTTPサンプラーA GET HTTPで行わ:// localhostを:8088 /

テストのセットアップ

図に次のようにHTTPリクエストメッセージは次のように設定され、本実施形態におけるサービスとnginxの間の関連付けが設定されています。

設定項目 设定内容
协议 http
服务器名称或者ip localhost
端口号 8088
HTT请求/方法 GET
HTTP请求/路径 /

详细设定如下图所示:
ここに画像を挿入説明

线程组设定

保持线程组信息为缺省设定即可,设定内容如下所示:

设定项 设定值
线程数 1
循环次数 1

ここに画像を挿入説明

执行&聚合报告

点击绿色的启动按钮开始执行,然后点击聚合报告可以看聚合报告如下所示:
ここに画像を挿入説明
从nginx-test.jtl文件中也可以看到结果的详细信息,可以看到返回的结果200码,以及success字段的true的结果信息,说明这是一次成功的执行,另外在聚合报告中的异常%的结果是0也可以看出这一点。

liumiaocn:tmp liumiao$ cat nginx-test.jtl
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1569663931702,5,HTTP请求,200,OK,线程组 1-1,text,true,,850,118,1,1,http://localhost:8088/,5,0,3
liumiaocn:tmp liumiao$

  
  
  • 1
  • 2
  • 3
  • 4

接下来故意修改一下HTTP请求的端口号,改成错误的本地没有HTTP服务的端口号,比如8089,设定示例如下所示:
ここに画像を挿入説明
点击绿色的启动按钮开始执行,会提示一个Warning,因为在测试中修改设定,是否还是一个压力测试是需要使用者自己判断的,这里为了演示选择“添加到现有文件”
ここに画像を挿入説明
然后点击聚合报告可以看聚合报告如下所示:
ここに画像を挿入説明
从nginx-test.jtl文件中也可以看到结果的详细信息,Connection refused的错误信息,以及success字段的false的结果信息,说明这是一次失败的执行,另外在聚合报告中的异常%的结果也变成了50%(共计两次取样测试,上一次执行的结果成功,所以异常为50%)也可以看出这一点。

liumiaocn:tmp liumiao$ cat nginx-test.jtl
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1569663931702,5,HTTP请求,200,OK,线程组 1-1,text,true,,850,118,1,1,http://localhost:8088/,5,0,3
1569664469242,2,HTTP请求,Non HTTP response code: org.apache.http.conn.HttpHostConnectException,"Non HTTP response message: Connect to localhost:8089 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused (Connection refused)",线程组 1-1,text,false,,2673,0,1,1,http://localhost:8089/,0,0,2
liumiaocn:tmp liumiao$ 

  
  
  • 1
  • 2
  • 3
  • 4
  • 5

测试报告

  • 使用如下命令生成测试报告

执行命令:bin/jmeter -g /tmp/nginx-test.jtl -e -o /tmp/nginx-test-rpt-1 -j /tmp/nginx-rpt.log

  • 测试报告的概要信息如下所示:
    ここに画像を挿入説明

重新将端口号修正为8080,保证HTTP测试能正确执行的基础之上,进行如下压力测试:并发用户数100、循环360次、持续时间180秒的内置HTTP请求验证

设定信息如下:

设定项 设定值
线程数 100
循环次数 360
持续时间 180s

ここに画像を挿入説明

実行を開始するには、緑色の[スタート]ボタンをクリックして、それはまだ「既存のファイルに追加」を選択証明するために、ここで、警告を促すメッセージが表示されます
ここに画像を挿入説明
見て、その後、集計レポート重合レポートをクリックすることができ、次の通りである:
ここに画像を挿入説明
あなたは100スレッドグループとして、サンプル36002の数を見ることができます* 360サイクル+既存の2つのテストの結果、そう内蔵ジャワ、nginxのデフォルトの設定を使用して、異常な速度での9.17パーセントに上昇している使用する以前の要求に比べて36002倍ストレステストサンプルの合計。

テストレポート

  • テストレポートを生成するには、次のコマンドを使用します

ファイル名を指定して実行します。bin / JMeterの-g /tmp/nginx-test.jtl -e -oを/ tmp / nginxのテスト-RPT-2 -j /tmp/nginx-rpt.log

  • 試験報告書の概要を以下に示します。
    ここに画像を挿入説明

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12205354.html