高并发 aop切面redis连接数过高 tcp 不释放

说一下 解决 高并发下的系统死服务的心酸历程 用户登录的时候 做了切面 查询redis 缓存   但是并发一过200 tcp连接 开始不释放  最后找到原因 是因为 用户登录时 的切面用到了redis 做缓存数据 redis 连接池满的 把请求挂起  而且 最大失效时间 设置为 50000 导致连接保持。直到服务死掉。 

解决方法一  :

       调大连接池 ,从200 调 直 500  ,但是并发超过 500时问题依然存在

解决方法二 :

      调小最大等待时候 从 50000调制 500 只要是没有连接 马上返回异常 这样可以保证其它的请求与业务正常运转。

解决方法三 :

Tomcat的server.xml文件中将jdk线程池调整为Tomcat线程池



Tomcatserver.xml文件中将jdk线程池调整为Tomcat线程池

猜你喜欢

转载自blog.csdn.net/aa6751789079/article/details/80789461