背景说明
项目使用spring cloud alibaba架构,网关使用gateway+spring security。登录接口写在了网关服务中。
登录接口中,密码的加密方式使用了PasswordEncoderFactories.createDelegatingPasswordEncoder()方法生成的PasswordEncoder类。
性能测试情况
在性能测试时,100并发的情况下,登录接口TPS只能到36左右,并且cpu和内存没有明显的变化。数据库服务器也没有明显的波动。
排查结果
最后发现,是PasswordEncoder.matches方法,拉低了接口性能。PasswordEncoder的加密方式我没有具体看,但是注释后,TPS可达到200左右。
以后有时间了,具体看看内部的加密方式,为什么会拉低性能这么严重,到时再来更新。
版权声明:本文为hi_kong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。