ネットワークブロッキングによるCPU高負荷
ネットワーク呼び出しがブロックされると、スレッドが積み重なり、実際の計算負荷が低いにもかかわらずシステムがCPU高負荷に見えます。
Common symptoms
- ネットワーク依存のワークロードでCPUが上昇する
- レイテンシのスパイクが下流の遅延と一致する
- ワーカーが有効な進捗なしに積み重なる
Likely causes
- 下流サービスの低速化
- タイムアウトの未設定
- ホットパスにおける同期ネットワーク呼び出し
Evidence to look for
インシデント中にネットワーク待機時間が増加する
スレッドがソケット読み取りでブロックされている
ネットワークレイテンシが改善すると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