네트워크 블로킹으로 인한 높은 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