sessionsManager io.undertow.server.session.InMemorySessionManager

sessionsManager io.undertow.server.session.InMemorySessionManager

  • 记录一次性能优化记录
  • 基本情况
  • 错误表现
  • 错误提示
  • 问题原因
  • 解决办法

记录一次性能优化记录

基本情况

k8s集群,2台应用,nacos负载均衡,4只交易,2列表,2详情,单系统测试,使用鉴权系统。
报错交易TPS200。其他交易TPS20。

错误表现

单交易负载,执行3w+,交易报错,服务器cpu使用率忽高忽低,服务器内存基本无变化,io不高,网络不高。查看日志,out of memery。
使用Java VisualVM查看,应用内存使用90%。
打印dump文件,错误提示如下

错误提示

sessionsManager io.undertow.server.session.InMemorySessionManager
sessions java.util.concurrent.ConcurrentHashMap
val io.undertow.server.session.InMemorySessionManager$SessionImpl
authentication org.springframework.security.oauth2.provider.0Auth2Authentication

com.xxxxxxxxxxxxxxxxxx(公司自己封装的包)

还有一部分URLSession,token的日志没记住

问题原因

应用100%报错后,开发人员使用postman和jmeter仍能正常交易,但是TPS降低为原来10%。
进行脚本对比,请求头差异,开发人员未增加鉴权请求头(不知道为啥他能请求通)。
请求头:Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx

解决办法

针对接口关闭鉴权,解决不了问题,就解决问题。

你可能感兴趣的:(性能优化,性能优化)