业务场景:mysql
也测的业务,如上图,经过捕获业务的涉及的接口以下:sql
查询接口耗时大于7s,已是很是的慢性能
经验提示:测试
通常接口响应时间慢的问题,最简单的方式就是监控接口相关的sql是否存在问题优化
开启mysql的慢查询监控:3d
这两个sql加起来,大体等于接口的响应时间,证实问题猜的没错,问题就是这两个sql查询慢致使的问题7s左右blog
验证sql是否有问题:索引
查看这个表的执行计划:接口
发现d表走了全表扫描,直接查询60多万的数据,确定会很慢table
因为d表已经存在orgId存在索引,考虑给o表添加索引
ALTER table t_debt_overview ADD INDEX IDX_orgId(`orgId`);
如今扫描的行数减小了,只扫描必要的4999行
另外的sql问题也解决了
不用压测,这个性能问题就能够解决
总结:因此在性能测试的过程当中,不必定非要执行压测才能发现性能问题,通常在性能压测前,简单的执行一下业务,看看是否存在耗时比较长的业务,提早优化,提升压测的效率