十六、压力测试
介绍
- 压力测试相关概念
- 使用JMeter对高并发优化前后的代码进行压测对比
压力测试相关概念
并发量:指在同一时间点内,系统中同时处理的用户请求数。(并发1000时,响应时间1s;并发5000时,响应时间5s,处理得慢一点,但也能处理。那么并发量到底是1000还是5000?)
响应时间:系统处理一个请求所需时间。
吞吐量:系统在给定时间内处理的业务请求数量。
QPS:系统每秒钟处理的请求数量。
TPS:系统每秒钟完成的事务数量。
吞吐量就是TPS
如上图,Throughput就是TPS
吞吐量压测(聚合报告)
100个线程并发时,吞吐量为430-440/sec。
没有用微服务的代码压测情况↓,响应时间(5s)和吞吐量都低
性能提升大约25倍。
修改JVM参数再次压测
jvm内存分配2G,影响不大。
内存分配128m,影响不大。
最高并发数探测
- 增加线程数,直到出现异常
- 增加线程数,直到响应时间超过预期(等待2s)
10000并发,卡死了!有异常
1000并发,平均时间增加,吞吐量不变。
最高支持1000并发。
没有微服务的代码只能支持<50并发。
整体性能提升25倍
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)