客户端线程占用过多引起等待,从而出现请求缓慢的情况

简介: 客户端线程占用过多引起等待,从而出现请求缓慢的情况

一、故障具体现象

上午8点49分到9点55分钉钉版生产环境出现系统无法登录的情况

二、故障分析过程

查看会话管理,发现存在大量异常会话

image.png



查看异常会话所在服务器的资源使用情况,并未发现明显异常

image.png

image.png

image.png


查看8点30分到8点50分之间的慢sql执行情况,未发现有明显的执行时间过长的慢sql

image.png


查看ice线程使用情况发现在8点30分到8点50分之间expense服务存在较多线程池使用量超过告警水位的情况

image.png


根据ice线程的告警信息,得出在异常发生之前出现了大量ice接口调用,在一段时间内这些调用没有返回,导致ice线程无法及时释放,导致出现请求缓慢的情况


三、故障原因

经过以上分析,本次故障很可能是短时间内expense服务出现了大量ice接口调用,ice客户端线程占用过多引起等待,从而出现请求缓慢的情况


四、解决方案

进行数据库主备切换,重新部署expense服务,增加expense服务ice最大线程数设置,增加expense服务实例数



相关文章
|
6月前
|
安全 Java
【JavaSE专栏76】三态和五态,线程的不同状态:新建、运行、状态、阻塞、等待、计时等待状态
【JavaSE专栏76】三态和五态,线程的不同状态:新建、运行、状态、阻塞、等待、计时等待状态
|
6月前
|
Java 程序员 调度
如何用Java编写代码来等待一个线程join()??
如何用Java编写代码来等待一个线程join()??
19 0
|
3月前
|
Java
Socket网络编程练习题五:客户端多用户上传文件(多线程版)并使用线程池管理线程
Socket网络编程练习题五:客户端多用户上传文件(多线程版)并使用线程池管理线程
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
39 0
|
3月前
|
存储 Linux API
select、poll、epoll、多线程实现并发请求处理
select、poll、epoll、多线程实现并发请求处理
27 0
|
3月前
|
安全 Java 调度
线程学习(2)线程创建,等待,安全,synchronized(三)
线程学习(2)线程创建,等待,安全,synchronized(三)
26 0
|
3月前
|
安全 Java 调度
线程学习(2)线程创建,等待,安全,synchronized(二)
线程学习(2)线程创建,等待,安全,synchronized(二)
27 0
|
3月前
|
安全 Java 调度
线程学习(2)线程创建,等待,安全,synchronized(一)
线程学习(2)线程创建,等待,安全,synchronized(一)
40 0
|
6月前
|
Java 数据库
【JavaSE专栏79】线程死锁,多个线程被阻塞,等待彼此持有的资源
【JavaSE专栏79】线程死锁,多个线程被阻塞,等待彼此持有的资源
|
6月前
|
Java
线程等待唤醒(等待通知)机制
线程等待唤醒(等待通知)机制
19 0

热门文章

最新文章

相关实验场景

更多