框架:
SpringCloud2.1、SpringSecurity、mybatisplus3.2.0
压测登陆接口:
工具:jemeter
参数: threads:800 ,rame-up:5s,Loopcount:5
优化前:执行半分钟后系统卡死
优化后:90%请求在5秒以内,TPS177,无错误
优化思路
- 登陆接口逻辑简单,请求时间过长,所以使用Arthas中trace命令跟踪方法调用执行时间。
- 优化前Arthas跟踪方法调用时间,发现PasswordEncoderFactories创建的PasswordEncoder实例中encode方法执行时间过长,所以自定义PasswordEncoder实现类。
- 优化后效果