요청 하나가 아니라 전부가 느려졌다 · 관측과 경보 · 퀴즈
퀴즈: 관측과 경보
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
밖에서 보는 CPU 사용률만으로 이벤트 루프 막힘을 판단할 수 없는 이유는?
- 컨테이너에서는 CPU 사용률을 정확히 잴 수 없기 때문이다
- 막힌 프로세스와 일을 잘하는 프로세스가 똑같이 높게 나오기 때문이다
- CPU 사용률이 루프 통계보다 늦게 갱신되기 때문이다
- Node 가 CPU 사용률을 보고하지 않기 때문이다
`monitorEventLoopDelay()` 의 히스토그램에서 값을 읽을 때 주의할 점은?
- 값이 나노초이고, 표본 간격이 측정값의 바닥이 된다
- 값이 초 단위라 밀리초로 바꾸려면 곱해야 한다
- 히스토그램이 자동으로 비워지므로 누적값을 따로 세야 한다
- enable() 없이도 값이 쌓이므로 시작 시각을 기록해야 한다
`performance.eventLoopUtilization()` 이 답하는 질문에 가장 가까운 것은?
- 타이머가 예정보다 얼마나 늦게 울렸는가
- 힙에서 얼마나 많은 객체가 살아 있는가
- 이 프로세스가 CPU 를 몇 퍼센트 썼는가
- 루프가 기다리지 않고 일한 시간의 비율이 얼마인가
루프 지연 경보를 설계할 때 권장되지 않는 조건은?
- 평균 지연이 임계를 넘으면 즉시 깨운다
- p99 가 임계를 넘은 상태가 5분 이상 이어지면 깨운다
- max 가 응답 예산의 절반을 넘은 구간을 기록으로 남긴다
- 기준선을 먼저 재고 그 배수로 임계를 정한다
배압 사고에 대한 메모리 경보로 절대값보다 증가 속도가 나은 이유는?
- 절대값은 프로세스마다 달라 비교할 수 없기 때문이다
- 한도에 닿은 뒤의 경보는 이미 재시작된 뒤에 오기 때문이다
- 증가 속도가 가비지 컬렉션의 영향을 받지 않기 때문이다
- 절대값은 컨테이너 한도를 반영하지 못하기 때문이다
워커를 여럿 띄우거나 클러스터로 돌릴 때 지표에 반드시 붙여야 하는 것은?
- 요청 경로
- 배포한 버전 태그
- 프로세스 식별자
- 응답 상태 코드