说一百遍不如来一次实战。下面小琥给大家讲一个出单接口压力测试的小例子,了解一下压力测试最最基础的基础。出单接口是用来保险出单的,不需要在UI界面下一步下一步的出单,接口一调数据入库完事~~~。再啰嗦一句接口应该都知道是什么吧?一个完整的系统可以大概分为3个部分:前端,后台,数据库。前端传数据给后台,后台将数据入库并将数据库返回数据传给前端做页面展示。接口就在后台部分。接口接收前端的参数即请求报文,响应报文为返回数据和提示信息。
案例:
l 测试目的
200并发下:
- 出单接口响应时间1s内
- 出单成功率100%
l 执行方案
- 测试工具:Jmeter
- 执行时间:工作日白天(a.白天应急能力强 b.获取保险公司真实的压测数据)
- 场景:从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉)并维持5min,之后保持每60s停止50并发的速率关闭
- 结果:tps、响应时间、并发数的关系图表(硬件占用数据无法监控,需保险公司关注)
性能测试需要安装插件,由于时间关系暂时先不讲插件安装了。安装好之后右键测试计划->添加->Threads(Users)->jp@gc - Stepping Thread Group
控制面板介绍
l This group will start Max threads - 设置单台负载机,线程组启动的线程总数为Max个
l First,wait for N seconds - 启动第一个线程之前,需要等待N秒
l Then start N threads - 设置最开始时启动N个线程
l Next add N1 threads every N2 seconds, using ramp-up N3 seconds - 然后,每隔N2秒,在N3秒内启动N1个线程
l Then hold load for N seconds - 单台负载机启动的线程总数达到Max之后,持续运行N秒
l Finally,stop N1 threads ervery N2 seconds - 最后,每隔N2秒,停止N1个线程数。
最高200并发,100并发开始,每隔60s立即增加50并发,达到最高并发后维持300s,之后保持每60s停止50并发的速率关闭。
设置好之后,添加刚才的出单请求,查看结果数,聚合报告,点击绿色三角号运行就可以了,下图是运行结果,最终要的就是聚合报告。表示压测过程中,一共发送了526个请求,所有请求的平均响应时间为2.001s,95%的请求的响应时间为2.877s,99%的请求的响应时间为3.457s,错误率为0,吞吐量为3.6/sec
压测小例子完毕。这里压测响应时间为2.001s没有达到压测目标1s内。如果在实际压测过程中还产生了其他问题以及都有什么解决办法,欢迎大家留言讨论(不论问题大小,我都相信您的肯定是我学习的最大动力)!!!小琥也会在以后的文章更新中专门整理出一篇性能测试优化的文章~~~