关于后端:JMeter性能测试完整入门篇

9次阅读

共计 3206 个字符,预计需要花费 9 分钟才能阅读完成。

原文转自:https://blog.csdn.net/lovesoo…

Apache JMeter 是一款纯 java 编写负载功能测试和性能测试开源工具软件。相比 Loadrunner 而言,JMeter 玲珑轻便且收费,逐步成为了支流的性能测试工具,是每个测试人员都必须要把握的工具之一。

本文为 JMeter 性能测试残缺入门篇,从 Jmeter 下载安装到编写一个残缺性能测试脚本、最终执行性能测试并剖析性能测试后果。

运行环境为 Windows 10 零碎,JDK 版本为 1.8,JMeter 版本为 3.3

  1. Jmeter 装置

============

2.1 JDK 装置

因为 Jmeter 是基于 java 开发,首先须要下载安装 JDK(目前 JMeter 只反对到 Java 8,尚不反对 Java 9)

  1. 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 
  2. 抉择 Java SE 8u151/ 8u152,点击 JDK 下载 

  1. 装置下载的 JDK 
  2. 配置零碎环境变量

2.2 JMeter 装置

  1. 官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
  2. 下载最新 JMeter 3.3 版本:apache-jmeter-3.3.zip 
  3. 下载实现后解压 zip 包
  4. 启动 JMeter 
    双击 JMeter 解压门路(apache-jmeter-3.3bin)bin 上面的 jmeter.bat 即可 
  5. 测试实例

========

咱们选取最常见的百度搜寻接口:

3.1 接口地址

http://www.baidu.com/s?ie=utf-8&wd=jmeter 性能测试

3.2 申请参数

ie:编码方式,默认为 utf-8 
wd: 搜索词

3.3 返回后果

搜寻后果,咱们能够通过校验后果中是否含有搜索词 wd 来判断本次申请胜利或失败。

  1. JMeter 脚本编写

==============

4.1 增加线程组

右键点击“测试计划”->“增加”->“Threads(Users)”->“线程组”
 
这里能够配置线程组名称,线程数,筹备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数:
 
线程组参数详解:

  1. 线程数:虚构用户数。一个虚构用户占用一个过程或线程。设置多少虚构用户数在这里也就是设置多少个线程数。
  2. Ramp-Up Period(in seconds) 筹备时长:设置的虚构用户数须要多长时间全副启动。如果线程数为 10,筹备时长为 2,那么须要 2 秒钟启动 10 个线程,也就是每秒钟启动 5 个线程。
  3. 循环次数:每个线程发送申请的次数。如果线程数为 10,循环次数为 100,那么每个线程发送 100 次申请。总申请数为 10*100=1000。如果勾选了“永远”,那么所有线程会始终发送申请,一到抉择进行运行脚本。
  4. Delay Thread creation until needed:直到须要时延迟线程的创立。
  5. 调度器:设置线程组启动的开始工夫和完结工夫 (配置调度器时,须要勾选循环次数为永远) 

持续时间(秒):测试持续时间,会笼罩完结工夫 
启动提早(秒):测试提早启动工夫,会笼罩启动工夫 
启动工夫:测试启动工夫,启动提早会笼罩它。当启动工夫已过,手动只需测试时以后工夫也会笼罩它。
完结工夫:测试完结工夫,持续时间会笼罩它。

因为接口调试须要,咱们临时均应用默认设置,待前面真正执行性能测试时再回来配置。

4.2 增加 HTTP 申请

右键点击“线程组”->“增加”->“Sampler”->“HTTP 申请”
 
对于咱们的接口 http://www.baidu.com/s?ie=utf-8&wd=jmeter 性能测试,能够参考下图填写:
 
Http 申请主要参数详解:

  1. Web 服务器 
    协定:向指标服务器发送 HTTP 申请协定,能够是 HTTP 或 HTTPS,默认为 HTTP 
    服务器名称或 IP:HTTP 申请发送的指标服务器名称或 IP 
    端口号:指标服务器的端口号,默认值为 80 
    2.Http 申请 
    办法:发送 HTTP 申请的办法,可用办法包含 GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE 等。
    门路:指标 URL 门路(URL 中去掉服务器地址、端口及参数后残余局部)
    Content encoding:编码方式,默认为 ISO-8859- 1 编码,这里配置为 utf-8
  2. 同申请一起发送参数 
    在申请中发送的 URL 参数,用户能够将 URL 中所有参数设置在本表中,表中每行为一个参数(对应 URL 中的 name=value),留神参数传入中文时须要勾选“编码”

4.3 增加观察后果树

右键点击“线程组”->“增加”->“监听器”->“观察后果树”
 
这时,咱们运行 Http 申请,批改响应数据格式为“HTML Source Formatted”,能够看到本次搜寻返回后果页面题目为”jmeter 性能测试_百度搜寻“。

4.4 增加用户自定义变量

咱们能够增加用户自定义变量用以 Http 申请参数化,右键点击“线程组”->“增加”->“配置元件”->“用户定义的变量”:
 
新增一个参数 wd,寄存搜索词:
 
并在 Http 申请中应用该参数,格局为:${wd} 

4.5 增加断言

右键点击“HTTP 申请”->“增加”->“断言”->“响应断言”
 
咱们校验返回的文本中是否蕴含搜索词,增加参数 ${wd} 到要测试的模式中:

4.6 增加断言后果

右键点击“HTTP 申请”->“增加”->“监听器”->“断言后果”

这时,咱们再运行一次就能够看到断言后果胜利或失败了 

4.7 增加聚合报告

右键点击“线程组”->“增加”->“监听器”->“聚合报告”,用以寄存性能测试报告 
 
这样,咱们就实现了一个残缺 Http 接口的 JMeter 性能测试脚本编写。

  1. 执行性能测试

==========

5.1 配置线程组

点击线程组,配置本次性能测试相干参数:线程数,循环次数,持续时间等,这里咱们配置并发用户数为 10,持续时间为 60s 

5.2 执行测试

点击绿色小箭头按钮即可启动测试,测试之前须要点击小扫把按钮革除之前的调试后果。

  1. 分析测试报告

==========

待性能测试执行实现后,关上聚合报告能够看到:

聚合报告参数详解:

  1. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值 
  2. Samples:申请数——示意这次测试中一共收回了多少个申请,如果模仿 10 个用户,每个用户迭代 10 次,那么这里显示 100 

  3. Average:均匀响应工夫——默认状况下是单个 Request 的均匀响应工夫,当应用了 Transaction Controller 时,以 Transaction 为单位显示均匀响应工夫 
  4. Median:中位数,也就是 50% 用户的响应工夫 
  5. 90% Line:90% 用户的响应工夫 
  6. Min:最小响应工夫 
  7. Max:最大响应工夫 
  8. Error%:错误率——谬误申请数 / 申请总数 
  9. Throughput:吞吐量——默认状况下示意每秒实现的申请数(Request per Second),当应用了 Transaction Controller 时,也能够示意相似 LoadRunner 的 Transaction per Second 数 
  10. KB/Sec:每秒从服务器端接管到的数据量,相当于 LoadRunner 中的 Throughput/Sec

一般而言,性能测试中咱们须要重点关注的数据有:#Samples 申请数,Average 均匀响应工夫,Min 最小响应工夫,Max 最大响应工夫,Error% 错误率及 Throughput 吞吐量。

  1. 源码下载

========

至此,咱们应用 JMeter 实现了一个残缺的 Http 接口性能测试流程,从脚本编写,执行到最终后果剖析。

残缺的脚本源码下载链接: https://pan.baidu.com/s/1eS90cVo 明码: st15

正文完
 0