十六、压力测试

发布时间 2023-06-21 20:01:08作者: 夏雪冬蝉

介绍

  • 压力测试相关概念
  • 使用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倍