在当今的互联网时代,性能已经成为衡量系统质量的关键指标之一。尤其是在高并发环境下,如何确保接口的快速响应和稳定性,直接影响着用户体验和系统的可扩展性。为了提高系统性能,避免因性能瓶颈而导致的服务中断或延迟,性能测试成为了开发与运维流程中不可或缺的一部分。
在众多性能测试工具中,JMeter 作为一个开源的、功能强大的压力测试工具,广泛应用于 Web 应用、数据库服务、API 接口等多个领域。JMeter 不仅能够帮助开发人员模拟高并发用户行为,还能够通过精确的数据分析帮助团队发现性能瓶颈,进行优化。特别是在进行接口压测时,JMeter 提供了非常详细的报告和数据分析,能让测试人员精准计算出接口的 QPS(每秒请求数)以及潜在的性能瓶颈。
本篇博客将通过详细的步骤,向你展示如何使用 JMeter 进行高效的接口压测,并快速计算 QPS.
如果有朋友不知道如何使用安装jmeter的,私信我发你word文档,后续word文档和jemeter安装包都会直接上传到平台.
解压jmeter安装包后,推荐配置好环境变量哈,这里给大家推荐一篇博客: 亲测 jmeter配置环境变量 - 琳达的博客 - 博客园
QPS压测步骤
- 添加线程组
- 添加 http 请求
- 在 http 请求中写入接入 url、路径、请求方式和参数
- 添加查看结果树
- 添加汇总报告
- 添加聚合报告
- 添加Constant Throughput Timer
- 调用接口、查看返回值
接口准备
请大家先忽视Limiter注解,这是我自定义限流控制注解,后续博客会分享源码!
开搞! 手把手教学
jmeter启动
大家如果安装完jmeter后,并且配置好了 环境变量,那么可以直接这么启动
没有配置环境变量的话,bin目录进去双击jmeter.bat文件即可
汉化界面
大家刚开始进去默认都是英文界面,语言可自行选着哈
汉化界面选着Chinese(Sumplified)即可
添加线程组
右键点击TestPlan,按图操作即可
这是我配置好的线程组
这里面我们需要关注的几点
线程数: 我们模拟的虚拟用户数,代表本次多少个线程参与本次测压
Ramp-UP time: 表示上面的线程数,你希望多少秒内起起来
循环次数: 就是表面意思,可选固定次数,或者永久(实际上是模拟持续的压力负载)
需要注意的是,循环次数是对于每一个线程来说的
调度器: 这个配置时间表示我们希望本次压测预期执行多少秒
添加Http请求
右键线程组,按图操作
添加查看结果树
选着线程组右键,后面的汇总报告 聚合报告都是 麻瓜
添加汇总报告
添加聚合报告
添加常量吞吐量控制器
这个是右键http请求
值得一提的是,这个值并不是绝对的,jmeter官网给出的定义是京可能结晶给定的这个数字
link: Apache JMeter - User's Manual: Component Reference
测压结果
我们可以通过查看结果树查看请求的情况
控制台输出也没问题
压测结果,通过聚合报告查看QPS
我们可以通过下图看到本次
压测时长共2分2秒
压测请求数1218(控制台输出也没问题)
压测QPS: 10 (你可能会好奇为啥这么简答的一个请求,qps会这么低,而且似乎有些眼熟,因为我的对这个接口做了限流,呼哈哈哈哈,之后会分享这个限流注解源码的)
OK,到这里,本次技术分享结束了,有问题的可以通过评论或者私信我。
最后如果本篇文章对你有帮助的话,关注 + 点赞,感谢!