Jmeter性能压测 —— 高并发思路

news/2024/6/19 0:53:18 标签: jmeter, 服务器, 运维, 测试工具, 测试用例

测试场景:模拟双11,百万级的订单量一个物流信息的查询接口。

条件:接口响应时间<150ms以内。10万并发量每秒。

设计性能测试方案

1、生产环境

①10W/S--并发量(架构师/技术负责人提供)

②20台机器(4G*4核配置)

2、性能测试环境

①出于成本考虑,绝大多数公司,是做不到和生产环境一样配置的。有些生产环境有几百台甚至几千台机器,测试环境做不到。

②基准测试 -- 少量的请求,少量的服务器 -- 性能测试 -- 通过理论推导 生产环境性能。

(4G*4核配置)1台 --> 性能指标 -- 推导 --只需要1台与服务器相同配置的机器能完成5000/s并发量即可(类似数学中的同理可得,以此类推)

注意事项:

性能测试项目部署服务器硬件型号 -- 和生产环境一致

3、性能测试用例设计

①生产环境面临并发量100000,服务器20台,平均到每台服务器5000/s,当并发需求=5000/s的时候,并发量要大于等于5000/s才扛得住。

性能指标:

吞吐量(接受发送):>=5000/S(QueryPS -- 查询数据场景(一秒内处理查询请求数量)-- TransactionPS -- 多个操作/设计数据修改的请求)

单位时间(s)-- 处理请求的数量

并发量:5000/s (相对并发:某一个时间段)(绝对并发:同一个时间)

响应时间:接口请求从开始到结束完整时间 -- 150ms

性能测试用例 -- 执行步骤 + 执行结果验证

负载测试 -- 系统承载的极限并发

不断加大并发 -- 直到系统不满足性能需要【性能瓶颈】【拐点】

压力测试(稳定性测试)-- 极限并发情况下,系统能否稳定 指定时间(一般压力测试时间大于12小时)

两个测试的先后顺序:先做压力测试再做负载测试,主要是因为要做压力测试你首先要知道极限并发是多少,负载测试就能知道极限并发。

线程目的:去执行接口调用

模拟总共500线程 --> 慢慢增加 -- 最终达到

只压500线程而不是5000线程的原因是,接口平均访问返回时间为100ms,1秒就有1个线程就可以造成10并发的压力。

所以只需要500个用户,1秒就能达到5000并发的压力。

4、Jmeter用到的插件有

①Stepping Thread Group和loadrunner一样,梯度压测,每次递增可以在Next,add中自己填入参数。

②Jmeter压测实时仪表盘在后端监听器中。Grafana(目前还没研究这个仪表盘,等接口框架都写完再来继续填坑)

③性能测试仪表盘的好处是它有集群监测,可以进行linux的集群监控。

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 

资料获取方式 :


http://www.niftyadmin.cn/n/4985938.html

相关文章

音视频 ffmpeg命令提取PCM数据

提取PCM ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -f s16le 48000_2_s16le ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -sample_fmt s16 out_s16.wav ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -codec:a pcm_s16le out2_s16le.wav ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -f…

从LeakCanary看内存快照解析

在从LeakCanary看内存快照生成一节中&#xff0c;我们已经了解了hprof的生成&#xff0c;并且将生成的hprof文件通过Android Studio进行解析&#xff0c;确实发现了内存泄漏对象MainActivity&#xff0c;但是在实际开发中&#xff0c;要求开发者自己去手动pull hprof文件进行解…

fastadmin think-queue supervisor配置

起因是微信支付回调需要同时做发货处理&#xff0c;但是发货接口不能影响,需要队列进行异步处理1. 1.fastadmin 后台购买queue插件(基于think-queue消息队列) 2.代码 2.1 添加文件&#xff1a;application---->extra--->queue.php 内容&#xff1a;我这里用的数据库做…

图像缩放、翻转、拼接的介绍与使用

目录 &#xff08;1&#xff09;图像缩放&#xff1a;resize() &#xff08;2&#xff09;图像翻转&#xff1a; flip() &#xff08;3&#xff09;图像拼接&#xff1a;hconcat() 和vconcat() &#xff08;1&#xff09;图像缩放&#xff1a;resize() 使用 cv2.resize() 函…

基于Java+SpringBoot+Mybaties-plus+Vue+ElementUI 高校汉服租赁网站的 设计与实现

一.项目介绍 高校汉服租赁网站分为普通用户以及管理员两类 普通用户&#xff1a; 注册、登录系统、查看汉服首页发帖公告信息、 交流论坛&#xff08;发帖、查看帖子、评论&#xff09;、 公告咨询&#xff08;查看公告以及评论&#xff09;、 汉服信息&#xff08;查…

Android11系统屏蔽禁用桌面上拉手势功能

做定制项目时&#xff0c;会遇到客户提出屏蔽禁用桌面上拉手势功能的需求&#xff0c;上拉手势功能分横屏和竖屏&#xff0c;具体修改如下&#xff1a; diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/OverviewToAllAp…

org.springframework.web.reactive.function.server.ServerResponse设置响应头

记录一下 String host serverRequest.uri().getHost();Consumer<HttpHeaders> headersConsumer consumer -> {consumer.setAccessControlAllowOrigin(host);consumer.setAccessControlAllowCredentials(true);consumer.set("Access-Control-Allow-Headers"…

解读未知:文本识别算法的突破与实际应用

解读未知&#xff1a;文本识别算法的突破与实际应用 1.文本识别算法理论 背景介绍 文本识别是OCR&#xff08;Optical Character Recognition&#xff09;的一个子任务&#xff0c;其任务为识别一个固定区域的的文本内容。在OCR的两阶段方法里&#xff0c;它接在文本检测后面…