测试场景:模拟双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的集群监控。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。