性能测试 —— Jmeter接口处理不低于200次/秒-场景

news2024/11/17 5:40:11

需求:期望某个接口系统的处理能力不低于200次/秒,如何设计?

①这个场景是看服务器对某个接口的TPS值是否能大于等于200,就可以了;

②系统处理能力:说的就是我们性能测试中的TPS;

③只要设计一个目标场景TPS能超过200,而不报错,响应时间也在可接受的范围内就可以了;

Jmeter设计操作:

TPS,肯定很多人就会想到吞吐量,就会在吞吐量上找突破口。

用一个"常数吞吐量定时器 Constant Throughput Timer"也可以实现预设一个固定的12000的值,因为在这个定时器中,单位是每分钟,从而实现目标200TPS的诉求。

这个定时器,确实就是可以实现这样一个目标。但接下来的问题是,用普通线程组,要设置多少并发用户,才能让这个TPS值达到呢?

并发用户(线程数)设置小了,这个目标达不到,设置大了,不能找出真实的TPS值。一个一个并发用户数去猜,时间浪费了,效率太低。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

解决方案:

①下载Jmeter的插件管理器,地址:https://jmeter-plugins.org/

然后再利用插件管理器,下载jpgc插件。然后添加bzm - Arrivals Thread Group线程组。

第一个 Target Rate 设置为目标12000,因为时间是分钟;
第二个 RampUpTime 加速时长,随自己设置;
第三个 Ramp-Up Steps Count 总共加速次数,随自己设置;
第四个 Hold Target Rate Time 达到目标后,持续运行多长时间,随自己设置。
第五个 Tips:在图表graph下面,有个Time Unit 单选,分钟\秒,切换后,上面的设置单位会发生变化,注意切换后,要按照需求更改相关设置数据。

运行过程:

整个设置过程,完全没有设置并发用户数。也就是说,为了达到200TPS值,并发用户数,完全是在运行过程中动态调整变化的。
我们只需要再添加 Active Threads Over Time 监听器,查看运行过程中,实时的并发用户数,

再添加 Transactions per Second 监听器, 查看运行过程中,实时TPS值,
我们就可以通过这两个监听器,实时对比看到,在某个时间点TPS达到或超过200,此时活跃的并发用户的值,就知道系统在多少并发用户数时,能满足预期目标;

如果发现运行过程中,已经报错,或相应时间超长,TPS却始终都无法达到预期的200,哪就说明,该接口无法达到预期目标。

②如果还想知道具体是多少个并发用户(线程数)让接口达到200TPS,可以再用一个 Stepping Thread Group。

实时观察活跃线程数和tps值,就能比较准确的找到并发用户数量了。

END今天的分享就到此结束了,点赞关注不迷路 !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子电机行业万界星空科技MES解决方案

现在电子电机行业规模越来越大,也伴随着生产和管理成本走向变高的现象。针对这个问题,mes系统就成为各电子电机制造业的最优选择。 电子机电行业MES涵盖了从原材料采购到最终产品交付的整个过程,包括生产计划、物料管理、生产过程监控、质量…

【漏洞复现】浙大恩特客户资源管理系统 fileupload.jsp 任意文件上传漏洞

文章目录 前言声明一、系统概述二、漏洞描述三、资产探测四、漏洞复现五、修复建议 前言 杭州恩软信息技术有限公司客户资源管理系统fileupload.jsp接口存在安全漏洞,攻击者可通过上传恶意脚本应用,获取服务器控制权限。 声明 请勿利用文章内的相关技术…

Docker之安装mysql主从复制

安装mysql主从复制 1、新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \…

通过cpolar实现外网ssh远程连接linux

现在我有个想法,就是希望通过外网能够远程连接到我的开发板。这里我们就需要使用到一种技术,内网穿透。 内网穿透是一种将内部网络中的设备通过外网进行访问的技术。在linux系统中,实现内网穿透有多种方式,其中最常见的方法是使用…

Spring全家桶源码解析--2.6 Spring scope 限制bean的作用范围

文章目录 前言一、Scope是什么?二、Scope使用2.1 单例:2.1.1 单例Bean的特点如下:2.1.2 单例设计模式 与单例bean: 2.2 原型bean:2.2.1 原型Bean的特点:2.2.2 原型Bean的销毁: 2.3 Request bean…

什么是集成测试?集成的方法有哪些?

前言 综合测试整合测试非常复杂,需要一些开发和逻辑技能。的确如此!那么把这个测试整合到我们的测试策略中的目的是什么呢?这个问题我们先不着急回答,让我们一步步往下看你就知道了。 为什么要进行集成测试? 以下是一…

Linux项目自动化构建工具---make/Makefile

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 坚持才是硬道理! 一、工具背景 1.会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 2.一个工程中的源文件不计数,其按类型、功能、模块分…

达梦集群搭建

一、数据库安装 ###(一)安装前准备 版本准备 [rootlocalhost ~]# uname -a Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux将镜像文件传到/opt目录下 [rootlocalhost100 …

【PyQt小知识 - 1】:QLineEdit内容的更新和获取、设置无边框

文章目录 QLineEdit更新和获取文本框内容设置为无边框 QLineEdit 更新和获取文本框内容 更新:QLineEdit().setText(text) 获取:QLineEdit().text() from PyQt5.QtWidgets import * import sysapp QApplication(sys.argv)window QWidget() window.re…

sqli-labs(Less-4) extractvalue闯关

extractvalue() - Xpath类型函数 1. 确认注入点如何闭合的方式 2. 爆出当前数据库的库名 http://127.0.0.1/sqlilabs/Less-4/?id1") and extractvalue(1,concat(~,(select database()))) --3. 爆出当前数据库的表名 http://127.0.0.1/sqlilabs/Less-4/?id1") …

Java map 详解 - 用法、遍历、排序、常用API等

概要: java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。 Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。 本文主要介绍java m…

金融行业如何数字化转型?_光点科技

金融行业的数字化转型涉及技术创新的引入、客户体验的改善、内部流程的优化、安全和合规性的加强以及员工技能和企业文化的转变。 技术创新 包括云计算、人工智能、大数据分析和区块链技术的采用。云计算增强数据处理的灵活性,AI和机器学习在风险评估和欺诈检测方面…

【技术分享】配置二层远程端口镜像案例

热门IT课程-CSDN博客文章浏览阅读24次。认证课程介绍:华为HCIA试听课程 : 华为HCIA试听课程:华为HCIA试听课程:华为HCIP试听课程:思科CCNA试听课程:思科CCNA试听课程:思科CCNA试听课程&#xff…

Arduino安装 esp32 by Espressif (2.0.11)

安装Arduino IDE 2.2.1 Arduino 中安装 esp32 by Espressif (2.0.11) Arduino 中安装 DS1302 库文件 2022年安装的Arduino是1.8.10版本的,主控芯片是外置 2MB Flash 的 ESP32-C3芯片。ESP-C3-12F-2M。 202206 Arduino软件的安装、配置与程序下载的全过程演示 2023…

plsql查询中文出现乱码

添加环境变量:如下 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 变量名:TNS_ADMIN 变量值:D:\instantclient_11_2\network\admin 在Path中添加instantclient_11_2存放路径

TOUGH系列软件教程

查看原文>>>全流程TOUGH系列软件实践技术应用 TOUGH系列软件是由美国劳伦斯伯克利实验室开发的,旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同,TOUGH系列软件采用模块化设计和有限积分差网格剖分…

notpad++正则化,利用关键字符删除整行

首先,ctrlf,选中[替换],勾选正则表达式(可以勾选[匹配大小写],不用勾选[匹配新行])。在[查找目标]框输入[^(.*)"car_no_clean"(.*)$\n]。在$后加上\n,可以将被替换的行直接删除,不加则…

【广州华锐互动】AR技术为气象站远程监控及在线指导维修提供极大便利

随着科技的不断发展,人类对于自然环境的理解和掌控能力也在不断提升。其中,AR(增强现实)技术的应用,为气象监控带来了革命性的变化。AR远程气象监测,就是将AR技术与气象监控相结合,通过虚拟与现…

vue中通过.style.animationDuration属性,根据数据长度动态设定元素的纵向滚动时长的demo

根据数据长度动态设定元素的animation 先看看效果,是一个纯原生div标签加上css实现的表格纵向滚动动画: 目录 根据数据长度动态设定元素的animationHTMLjs逻辑1、判断是数据长度是否达到滚动要求2、根据数据长度设置滚动速度 Demo完整代码 HTML 1、确…

校园信息发布平台小程序的作用是什么

校园墙是校内信息传播的一种渠道,有专门的人添加校内学生、教师,谁有信息发布需求即可联系让其通过QQ、微信朋友圈、社群等形式发布,多年来,学生们习惯了这类方式。 但这种方式并不高效,缺乏信息的真实性以及便捷性&a…