JMeter 5.1.1性能测试,完整入门篇

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

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

运行环境为Windows 10系统,JDK版本为1.8,JMeter版本为3.3。

1. Jmeter安装

1.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下载 
这里写图片描述
3. 安装下载的JDK 
4. 配置系统环境变量

1.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.3\bin)bin下面的jmeter.bat即可 

2. 测试实例参照

1,创建线程组

使用 JMeter 测试应用性能首先要创建一个线程组 

右键 “Text Plan”, 在弹出的菜单栏选择 “Add->Threads(Users)->Thread Group” 

就创建了一个线程组: 

 

 

 

Number of Threads (users), 即并发用户数 

Loop Count:循环请求次数, 即每个线程请求多少次

线程组参数详解: 

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. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远) 

持续时间(秒):测试持续时间,会覆盖结束时间 

启动延迟(秒):测试延迟启动时间,会覆盖启动时间 

启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。 

结束时间:测试结束时间,持续时间会覆盖它。

因为接口调试需要,我们暂时均使用默认设置,待后面真正执行性能测试时再回来配置。

2,创建测试请求

右键创建的线程组“Thread Group”, 选择 “Add-> Sampler-> HTTP Request” 

 

 

请求协议:http 

请求host:101.37.255.38 

请求端口号:8811 

请求方法:get 

请求路径:/toSearchView?theaterId=50&parentId=2

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

  1. 同请求一起发送参数 

在请求中发送的URL参数,用户可以将URL中所有参数设置在本表中,表中每行为一个参数(对应URL中的 name=value),注意参数传入中文时需要勾选“编码”

3. 测试执行

右键线程组 “Thread Group”, 选择 “Add-> Listener->Summary Report “, 创建一个结果报表。然后点击, 菜单栏中的绿色按钮, 执行测试: 

 

看上图的执行结果,请求数时间,错误率等。得出测试结论。

Label:取样器别名

#Samples:取样器运行次数

Average:请求(事物)的平均响应时间

Min:请求最小响应时间

Max:请求最大响应时间

Std.Dev:响应时间标准差,标准差越小越好

Error%:事物错误率

Throughput:吞吐率,即TPS

Received KB/s:每秒数据包流量

Sent KB/s:

Avg.Bytes:平均数据流量

Aggregste report

 

Median:响应时间中间值

90%Line:90%事务响应时间范围

 

右键线程组 “Thread Group”, 选择 “Add-> Listener->View Results Tree“, 创建一个察看结果树。然后点击, 菜单栏中的绿色按钮, 执行测试: 

 

打开测试文件:

file->open->

 

参数化

第一步,在测试计划下,右键-添加线程组,接着添加配置元件,如下图:

 

第二步,配置CSV数据文件设置

 CSV数据文件设置:主要是文件编码、变量名称两栏

 

第三步:查看编写好的测试数据test.csv

csvtest.dat:以前搞过应该遇到过坑,尽量存为UTF-8格式

 

有多少行数据线程数量填多少

 

第四步,设置http请求中的参数 ${user}  ${pwd}

Http请求:参数的引用  ${user}  ${pwd}  与csv数据文件设置一栏变量名称那保持一致

 

第五步,利用查看结果树元件,查看请求的成功与失败

 

文档:jmeter 4.0 压力并发测试.note
链接:http://note.youdao.com/noteshare?id=ab659676b548ed4e5ac6ce96d2372649&sub=466CD91F21B3450FA1E392ECDE2AA87E

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值