jmeter-获取系统最大并发数
问题:有一个页面,需要测试一下最大支持多少用户并发?
此时需计算的是最大用户并发数,强调的是同时操作,也可以理解为同时发起请求;
针对这个问题,我们可以通过rps定时器或阶梯加压线程组测试每秒最大的请求数;
首先需要导入jmeter-plugins插件 ,然后去初始化需要用到的插件
在平衡状态下,并发数=RPS*响应时间

a)使用jp@gc - Throughput Shaping Timer(吞吐量成形计时器,调节rps的定时器);
设置线程组中线程数为50,ramp-up时间为1s,永远循环;
同时在请求下面加Throughput Shaping Timer定时间,rps由1增加到400/s;
测试最终运行时间取 线程组运行时间 与 定时器时间的最小值;


设置后我们需要添加几个性能测试中常用的监听器:
添加监听器Hits per Second(每秒请求数)
观察HPS走势,HPS在140的时候持续了十几秒,随后HPS稳定在100

添加监听器 Transaction per second
TPS在48/s稳定了十几秒,然后稳定在30/s

添加监听器 jp@gc - Response Times Over Time
平均响应时间在3s以内


在比较稳定的情况下,最大rps=140/s,平均响应时间=1.6s,则最大并发=140*1.6=224,也就是224个线程同时启动可满足1s内140/s HPS压力值
b)使用阶梯加压线程组

功能如下:
This group will start 100 threads:设置线程组启动的线程总数为400个;
First,wait for N seconds:启动第一个线程之前,需要等待N秒;
Then start N threads:设置最开始时启动N个线程;
Next,add 100 threads every 2 seconds,using ramp-up 10 seconds:每隔2秒,在10秒内启动100个线程;
Then hold load for 40 seconds:启动的线程总数达到最大值之后,再持续运行40秒;
Finally,stop 100 threads every 0 seconds:同时停止100个线程;
设置阶梯线程组各配置项后,再添加各个监听器后观察,发现得出的tps,rps,平均响应时间与添加rps监听器测试出的结果基本一致
下面可以来验证一下,线程组的线程数设置为224,其它值可随意,(如,设置定时60s,循环次数设置为100,因为并发数=rps*响应时间 是在平衡状态下得出的结论,所以运行时间不能太短)
添加监听器Hits per Second,Transactions per Second,Response Times Over Time 查看这些指标是否和上面得出的结果一致(预期应该是满足的)

jmeter-获取系统最大并发数的更多相关文章
- Jmeter 获取系统时间,和对系统时间进行增减时间
今天做了一个测试,比如发送短信验证码之后的, 验证90s被验证码有效的问题 那如何测试开发的代码,判断了90s内有效呢1. 验证码获取时间距离现在89秒,验证通过2. 验证码获取时间距离现在90秒,验 ...
- JMeter获取CSV文件行数
import java.io.BufferedReader; import java.io.FileReader; BufferedReader br=new BufferedReader(new F ...
- Jmeter 获取系统时间
${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2020-11-03 21:59:13:658
- Jmeter之性能压测Stepping Thread Group 逐步增加并发数 阶梯式加压并发 (十五)
前段时间有描述过性能的测试类型 配置负载 Big Bang: 负载同时产生 Ramp up: 开始时候产生一定负载,然后每隔一段时间增加一些负载直到达到目标负载,这是典型模式 Ramp-up (wit ...
- 高并发实时弹幕系统 并发数一定是可以进行控制的 每个需要异步处理开启的 Goroutine(Go 协程)都必须预先创建好固定的个数,如果不提前进行控制,那么 Goroutine 就随时存在爆发的可能。
小结: 1.内存优化1.一个消息一定只有一块内存使用 Job 聚合消息,Comet 指针引用. 2.一个用户的内存尽量放到栈上内存创建在对应的用户 Goroutine(Go 程)中. 3.内存由自己控 ...
- Jmeter系列(29)- 性能指标(2) | 并发数
并发数 概念 同时承载正常使用系统功能的用户数量:系统能够同时处理请求的数目. 通过问题详解 问题:网站的并发数,究竟指的同时提交请求的用户数目,还是用户同时提交的请求的数目? 答案:根据这句描述&q ...
- 徐汉彬:Web系统大规模并发——电商秒杀与抢购(转)
[导读]徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设. 电商的秒杀和抢购,对我们来说,都不是一个陌生的东西. ...
- 从电商秒杀与抢购谈Web系统大规模并发
从电商秒杀与抢购谈Web系统大规模并发 http://www.iamlintao.com/4242.html 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程 ...
- Web系统大规模并发:电商秒杀与抢购-----面试必问
一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战.如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态.我们现在 ...
随机推荐
- 【第十三期】B站后端开发实习生一、二面经
写在最前:非科班渣硕去年转码一年,不是什么大佬,纯小白(go语言开发). 一面(大概70min) 首先是自我介绍.(比较传统,就是描述下自己的技术栈) 线程和进程的关系. 线程之间如何进行通信. 死锁 ...
- Maven仓库的目录结构
_remote.repositories文件 本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implem ...
- 根据指定手绘图纸照片行政区划自定义绘制对应区域边界生成geoJOSN的解决方案
项目需求 指定某区域(非省市区县乡镇标准行政区划),做功能边界分区,实现Echarts地理坐标数据可视化展示. 提供信息 项目分析 要在Echarts上实现地理坐标可视化,必须使用geoJSON格式文 ...
- Nginx 配置 HTTPS 服务器
Nginx 配置 HTTPS 服务器 Chrome 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Nginx 配置 HTTPS 服务器, ...
- art 模式 android runtime
空间换时间的概念. art:程序在安装时需要预编译读取,将代码转换为机器码 好处:程序运行时,无需时时转换,运行速度快 : 缺点:安装时间稍长,由于转换机器码,所以占用略高的存储空间.
- LBS应用之 根据一点的经纬度实现附近点的查询
这年头和LBS相关的应用越来越火.从foursquare的热闹程度就可见一般(什么,没听过 foursquare-. 哥们,你 out 了).和 LBS有关的应用一般都包括一些共同的操作,最常见的一个 ...
- LAMP架构—源码编译安装 (爱情受过伤,为爱跳过鸭绿江)
LAMP架构--源码编译安装 1.LAMP架构概述 2.编译安装Apache httpd 服务 3.编译安装mysql 服务 4.编译安装PHP 解析服务 5.利用LAMP搭建论坛 1.LAMP架构概 ...
- Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
- Docker之LNMP分布式容器部署
Docker之LNMP分布式容器部署 目录 Docker之LNMP分布式容器部署 一.项目模拟 1. 项目环境 2. 服务器环境 3. 任务需求 二.Linux系统基础镜像 三.Nginx 1. 建立 ...
- linux上 oracle数据库的密码过期-解决
1.登录root用户 su oracle 或者 su - oracle 切换到数据库用户 2.进入SqlPlus sqlplus / as sysdba --进入sqlplus 注意语法 / ...