1. 首先去官网下载JMeter:  http://jmeter.apache.org/download_jmeter.cgi

2. 解压缩后到目录 \apache-jmeter-5.0\bin 下找到 jmeter.bat 点击执行,出现以下界面:

3. 然后新建需要测试的http请求,以 ”http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试“ 为例:

Test Plan -> Add -> Threads(Users) -> Thread Group

Name: 线程组名称

Number of Threads(users) : 虚拟用户数。一个虚拟用户占用一个线程或进程,设置多少虚拟用户在这里就是设置多少个线程数。

Ramp-Up Period(in seconds):准备时长,设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,即每秒钟启动5个线程。

Loop Count: 循环次数,每个线程发送请求的次数,如果线程数为10,循环次数为100,那么每个线程发生100次请求。总请求数为10 * 100 = 1000,如果勾选了 Forever,那么所有线程会一直发送请求,直到选择停止运行脚本。

Delay Thread creation until needed:知道需要时延迟线程的创建。

Scheduler:调度器,设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)。

4. 添加需要测试的请求: Thread Group -> Add -> Sampler -> HTTP Request

填写参数内容如下:

ie: 编码方式,默认为utf-8

wd: 搜索词,为jmeter性能测试

5. 添加查看结果树: 右键点击Thread Group -> Add -> Lisenter -> View Results Tree

修改响应数据格式为:HTML  Source Formatted,Response Data中可以看到本次请求返回的数据:

6. 添加用户自定义变量,右键 -> Thread Group -> Add -> Config Element -> User Defined Variables

将wd(搜索词)设置为自定义变量:

并可在http请求中使用该参数,格式为:${wd},之前为:jmeter性能测试

7. 添加断言

右键点击 HTTP Request ->  Assertions -> Response Assertion

主要选中: Main sample only, Document [text], Contains,  在Patterns to Test中添加用户自定义变量,因为查到的结果中一定会包含搜索词,否则判断为请求失败。

8. 添加断言结果

右键点击 HTTP Request -> Add -> Lisenter -> Assertion Results

如果请求成功,则会直接显示HTTP Request, 否则会显示Response Assertion: Test failed: document expected to contain /断言中写的匹配内容/ (我故意改成了${wd} 111, 所以会断言失败)

9. 添加聚合报告

右键点击 Thread Group -> Add -> Lisenter -> Aggregate Report

执行请求后(可以先修改性能测试相关参数配置:线程数、循环次数、持续时间等,目前我这里还是单线程作业),聚合报告就会显示如下:

聚合报告参数详解:

Lable:每个JMeter 都有一个Name属性,这里显示的就是Name属性的值。

#Samples: 请求数,表示这次测试中一共发出了多少请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100。

Average: 平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了Transaction Controller 时,以Transaction为单位显示平均响应时间。

Median: 中位数,即50%用户的响应时间。

90% Line: 90%用户的响应时间。

Min: 最小响应时间。

Max: 最大响应时间。

Error%:错误率--错误请求数/请求总数

Throughput:吞吐量--默认情况下表示每秒完成的请求数。

KB/Sec: 每秒从服务器端接收到的数据量,相当于Load Runner中的Throughput/Sec。

一般来说,性能测试中我们需要重点关注的数据有:#Samples请求数、Average平均响应时间,Min最小响应时间,Max最大响应时间,Error% 错误率及Throughput吞吐量。

最新文章

  1. 1.openssl genrsa
  2. PHP各种缓存
  3. 【AngularJS学习笔记】00 序
  4. easyrtc-server在ubuntu14.04上的安装方法
  5. map reduce filter
  6. 【转发】Linux下如何查看当前支持的文件系统及各分区的文件系统类型
  7. Android 动画深入解析
  8. html --- canvas --- javascript --- 在线画板
  9. Oracle10GODP连接11G数据库,出现ORA - 1017用户名/口令无效; 登录被拒绝 的问题
  10. java中print\println\printf的区别
  11. TransparentBlt函数的使用注意事项
  12. poj 3393 Lucky and Good Months by Gregorian Calendar(模拟)
  13. EMV/PBOC 解析(一) 卡片文件结构
  14. ice grid 完整部署过程
  15. PowerDesigner制作UMI图
  16. OA系统开发人事模块关于请假跨月的处理
  17. Set集合(scala)
  18. T分布
  19. VB打开工程时出现不能加载MSCOMCTL.OCX
  20. angular的常见问题

热门文章

  1. C++Builder XE7 up1 简单测试
  2. windbg 如何再内核模式调试用户空间的程序
  3. Kafka使用log.retention.hours改变消息端的消息保存时间
  4. 【java】标示符
  5. CentOS 服务器安全设置 --摘抄自https://www.kafan.cn/edu/8169544.html
  6. Visual studio 下C++工程相关经验
  7. 天朝屁民每天做T跟菜贩一样,进菜-卖菜,为伟大的菜贩精神点赞
  8. maven打包时跳过测试
  9. PAT 乙级 1026 程序运行时间(15) C++版
  10. 微服务之分布式跟踪系统(springboot+zipkin+mysql)