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

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

一、故障具体现象

上午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服务实例数



相关文章
|
2月前
Socket网络编程练习题四:客户端上传文件(多线程版)
Socket网络编程练习题四:客户端上传文件(多线程版)
|
2月前
|
Java
Socket网络编程练习题五:客户端多用户上传文件(多线程版)并使用线程池管理线程
Socket网络编程练习题五:客户端多用户上传文件(多线程版)并使用线程池管理线程
|
2月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
56 0
|
16天前
|
Java
Java Socket编程与多线程:提升客户端-服务器通信的并发性能
【6月更文挑战第21天】Java网络编程中,Socket结合多线程提升并发性能,服务器对每个客户端连接启动新线程处理,如示例所示,实现每个客户端的独立操作。多线程利用多核处理器能力,避免串行等待,提升响应速度。防止死锁需减少共享资源,统一锁定顺序,使用超时和重试策略。使用synchronized、ReentrantLock等维持数据一致性。多线程带来性能提升的同时,也伴随复杂性和挑战。
|
7天前
|
安全 Java
使用notifyAll唤醒所有等待线程
使用notifyAll唤醒所有等待线程
|
17天前
|
Java
死锁是线程间争夺资源造成的无限等待现象,Java示例展示了两个线程各自持有资源并等待对方释放,导致死锁。`
【6月更文挑战第20天】死锁是线程间争夺资源造成的无限等待现象,Java示例展示了两个线程各自持有资源并等待对方释放,导致死锁。`volatile`保证变量的可见性和部分原子性,确保多线程环境中值的即时更新。与`synchronized`相比,`volatile`作用于单个变量,不保证原子操作,同步范围有限,但开销较小。`synchronized`提供更全面的内存语义,保证原子性和可见性,适用于复杂并发控制。
17 3
|
2天前
|
安全 NoSQL Java
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
|
8天前
|
Java
使用notifyAll唤醒所有等待线程的方法与比较
使用notifyAll唤醒所有等待线程的方法与比较
|
13天前
|
Java
java使用多线程编写服务端与客户端文件上传程序
java使用多线程编写服务端与客户端文件上传程序
9 0
|
2月前
|
Java API 分布式数据库
实时计算 Flink版产品使用合集之如何解决 TaskManager和 JobManager中有大量的等待线程
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。