网络阻塞导致CPU占用率高
当网络调用发生阻塞时,线程会不断堆积,即使实际计算需求很低,系统看起来也像是CPU占用率很高。
Common symptoms
- CPU随依赖网络的工作负载上升
- 延迟峰值与下游服务变慢同步出现
- 工作进程大量堆积却没有实质进展
Likely causes
- 下游服务响应缓慢
- 缺少超时设置
- 热点路径中存在同步网络调用
Evidence to look for
故障期间网络等待时间上升
线程阻塞在socket读取上
网络延迟改善后CPU随之下降
What it usually means
系统在为等待网络响应付出代价,这种等待会在线程调度中体现为CPU使用率上升。
What to do next
- 1为所有网络调用添加超时设置
- 2使用异步或非阻塞IO
- 3为响应缓慢的依赖项添加熔断器
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai