目录
Jmeter简介
Jmeter可以帮助我们模拟多线程用户并发访问数据接口
Jmeter:https://jmeter.apache.org/
Jmeter应用程序是开源软件,100%纯Java应用而设计的负载测试功能行为和测量性能。它最初是为测试Web应用程序而设计的,但此后已扩展到其他测试功能。
分析数据库连接池不足
数据库连接池不足可能有两个原因:
- 物理数据库连接设置较小
- 应用数据库连接池设置较小
排查问题可以从这两方面入手,另外数据库SQL能批量的尽量采用批量合并请求处理。
问题日志输出
在我们的接口上添加足够的日志进行观察,在问题代码前后都加上注释。
Jmeter示例
Jmeter线程
设置适当的线程模拟用户并发请求。
结果对比分析
正常日志输出:
异常日志输出:
注意:上面很明显在入库部分代码已经出现阻塞状态,很明显是数据库操作程序等待挂起,多线程下这部分操作除了分配合理的数据库连接之外,还需要对请求进行合并处理。