负载场景

提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是负载测试?

负载测试时通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

二、负载测试场景设计

1.阶梯式加压:插件@jpgc - Standard Set

@jpgc - Standard Set ,进行阶梯式加压

在这里插入图片描述
100个用户登录,每5秒启动20个用户,持续运行30秒,直到100个用户启动完毕后持续运行2分钟,然后每1秒退出10个用户。

结果

2、第二张阶梯式:Concurrency Thread Group

Target Concurrency: 预期客户端最大并发线程数为50
Ramp Up Time(min): 0.5 在30秒内启动50个线程
Ramp-up Steps Count: 25在上述时间内,分5次启动
Hold Target Rate Time (min): 0.5达到目标并发线程数5后,再并发运行60秒
Thread Iterations Limit:线程迭代次数限制,即循环次数(空,即为一次)(无特殊情况,建议不设置该选项的值)
Log Threads Status into File:将线程状态记录到文件中(保存日志文件)
在这里插入图片描述

结果

用户数
在这里插入图片描述
响应时间:
在这里插入图片描述
tps:
在这里插入图片描述
监控平台:
mysql:出现慢查询
在这里插入图片描述
服务器资源:
在这里插入图片描述


分析

用户数 大概的指标
10 rt:330ms tps:25
20 rt:550ms tps:30
30 rt:860ms tps:26
40 rt:1300ms tps:20
50 rt:1500ms tps:26
# 总结 最大并发用户数在30,tps出现v型波动,查看监控平台,发现数据库出现了慢查询,需要查看慢查询日志,慢查询阈值为1s 发现慢查询语句超过1s,使用explain进行分析(图二),分析可知是全表查询,没有加索引。需要加索引进一步调试脚本分析。加入索引后,type从all变为ref,sql执行时间变为0.002s

在这里插入图片描述
图二
在这里插入图片描述
图三
在这里插入图片描述
图四
在这里插入图片描述
此文如分析有误,请大佬指点。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐