当前位置: 首页 > news >正文

jmeter并发测试

目录

  • 常用的压测工具
  • jmeter安装
  • 配置并执行
    • 新建测试计划 Test Plan
    • 添加线程组
      • 练习01:共10个线程,每秒钟启动一个线程(需要10秒),每个线程发送两个请求
      • 练习02:共10个线程,1秒中内启动完毕,每个线程发送1个请求
      • 练习03:共10个线程,同时发送(0秒内发送完毕),每个线程发送1个请求【模拟用户同时并发】
    • 添加请求信息
    • 添加常用的结果监听器
    • 执行测试计划
      • 查看结果观察树-View Results Tree
      • 总结报告-Summary Report
      • 聚合报告-Aggregate Report
      • 结果图
  • 参考链接

常用的压测工具

  • postman:串行测试,一般用于功能性测试,即返回结果是否正常
  • jmeter:可以多线程并行测试,一般用于压测

jmeter安装

  • 直接官网下载压缩包,解压缩,运行即可

配置并执行

新建测试计划 Test Plan

  • 修改 Name测试Demo
    在这里插入图片描述

添加线程组

在这里插入图片描述

  • Action to be taken after a Sampler error : 如果测试过程报错了怎么处理
    • Continue: 报错了继续执行
    • Stop Thread: 停止所在的线程
    • Stop Test: 停止整个测试计划
    • Stop Test Now:
    • Start Next Thread Loop:
  • Number of Threads(users): 线程数,虚拟用户数。一个虚拟用户对应一个线程。需要10个用户发送请求,则设置为10。
  • Ramp-up period(seconds): 准备时长,设置的虚拟用户数需要多长时间全部启动。需要2秒钟启动10个线程,也就是每秒钟启动5个线程,则此处设置为 2。如果设置为 1,则意思是1秒钟启动所有线程。
  • Loop Count: 循环次数,每个线程发送的请求个数,如果设置 1,则每个线程只发送1次请求就停止。如果勾选 Infinite(永远),则每个线程会一直发送请求,直到手动停止测试计划。
    在这里插入图片描述

练习01:共10个线程,每秒钟启动一个线程(需要10秒),每个线程发送两个请求

在这里插入图片描述
在这里插入图片描述

练习02:共10个线程,1秒中内启动完毕,每个线程发送1个请求

在这里插入图片描述

  • 同练习01执行,可以看到结果大约在1秒内全部返回

练习03:共10个线程,同时发送(0秒内发送完毕),每个线程发送1个请求【模拟用户同时并发】

在这里插入图片描述

  • 同练习01执行,可以看到发送结果一下子全部返回

添加请求信息

  • 后台本地在 8080 端口启动一个服务接口 /hello,没有请求参数,直接返回字符串 ok
    在这里插入图片描述

添加常用的结果监听器

在这里插入图片描述

在这里插入图片描述

执行测试计划

查看结果观察树-View Results Tree

在这里插入图片描述

总结报告-Summary Report

在这里插入图片描述

聚合报告-Aggregate Report

在这里插入图片描述

  • Label: 每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
  • Samples: 请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
  • Average: 平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
  • Median(中位数): 50%用户的响应时间小于该值
  • 90% Line(90%百分位): 90%用户的响应时间小于该值
  • 95% Line(95%百分位): 95%用户的响应时间小于该值
  • 99% Line(99%百分位): 99%用户的响应时间小于该值
  • Min: 最小响应时间
  • Max: 最大响应时间
  • Error%: 错误率——错误请求数/请求总数
  • Throughput: 吞吐量(QPS)——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

需要注意,重复运行会叠加之前的,每次运行前需要先清除之前的结果
一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量

结果图

在这里插入图片描述

参考链接

  • https://www.cnblogs.com/zhaoyq/p/10944080.html
  • https://blog.csdn.net/zhiwenganyong/article/details/124212479
  • https://www.cnblogs.com/liuyuelinfighting/p/15000827.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++中实现一个泄漏检测工具
  • 软考初级网络管理员_01_计算机系统基础知识(硬件)单选题
  • 车载电子电气架构 --- 车载信息安全
  • 优思学院|谈汽车零部件企业生产精益及现场管理
  • 如何做好电子内窥镜的网络安全管理?
  • Leetcode 3179. Find the N-th Value After K Seconds
  • 新手上路:Linux虚拟机创建与Hadoop集群配置指南①(未完)
  • 一个开源的Office软件,很离谱的办公神器
  • dos命令---根据端口查找进程
  • mysql 定时执行 查询动态表名插入汇总表的sql
  • JAVA:在IDEA引入本地jar包的方法并解决打包scope为system时发布无法打包进lib的方案
  • IO缓冲流
  • react基础学习 JSX
  • 2002NOIP普及组真题 4. 过河卒
  • kafka-消费者-消费异常处理(SpringBoot整合Kafka)
  • JavaScript设计模式之工厂模式
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js如何打印object对象
  • magento 货币换算
  • MySQL QA
  • python大佬养成计划----difflib模块
  • Python连接Oracle
  • SOFAMosn配置模型
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Windows Containers 大冒险: 容器网络
  • 百度小程序遇到的问题
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 鱼骨图 - 如何绘制?
  • 智能网联汽车信息安全
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #stm32驱动外设模块总结w5500模块
  • (6)设计一个TimeMap
  • (k8s)kubernetes集群基于Containerd部署
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)JAVA使用POI操作excel
  • (二)正点原子I.MX6ULL u-boot移植
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (转)C#调用WebService 基础
  • . NET自动找可写目录
  • .NET Core Web APi类库如何内嵌运行?
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .ui文件相关
  • @RequestBody与@RequestParam:Spring MVC中的参数接收差异解析
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [20171101]rman to destination.txt
  • [51nod1610]路径计数
  • [AIGC] 广度优先搜索(Breadth-First Search,BFS)详解
  • [asp.net core]project.json(2)
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [BZOJ4010]菜肴制作
  • [C# WPF] 如何给控件添加边框(Border)?