本文介绍: close() 方法没有被调用,则连接不会被释放。5.怀疑是第三方服务内置jar包在我们服务中回去调用他们的服务进行探活连接,没有关闭连接导致的,但是第三方服务在其他的项目上也部署了,没有问题,还是去查看服务器的连接数 ss –s发现只有100的连接剩余,但是只要剩余就能正常提供服务,于是查看tomcat的线程情况。项目上反馈服务经常中断,出现访问不了的情况,一开始怀疑是网络问题,因为这个服务的部署在其他的项目上从没有出现过无法响应的问题,但是服务只要一重启就能恢复访问,项目上重启了很多次都是如此,
1 网络
2 nginx连接查看
2.1 检查ng的网络
检查到ng的服务是否正常,access.log中是否能正常打印日志
ng到后端的转发是否正常,ping到后端的网络是否通畅,access.log中是否能从后端转发中正确得到响应
2.2检查tomcat的情况
1.tomcat的进程是否还在 ps –ef | grep tomcat
2.tomcat中的日志是否还在持续打印日志,自己本地调curl 用服务看能否得到响应,如果不行说明服务有问题,如果日志正常打印可能存在网络问题
3 查看TCP连接是否正常
使用ss –s命令查看tcp的连接状态 关注time_wati参数
4 检查tomcat的连接数是否正常
5 JVM内存溢出
5.1 jstack查看tomcat是否出现死锁
6. docker容器中只有jre没有相关工具
7 记问题排查
8 知乎案例
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。