마이크로서비스 아키텍처 · 분산 추적과 상관관계 ID · 퀴즈
퀴즈: 분산 추적
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
열 개 서비스의 p99 가 모두 정상인데 사용자 화면이 2초 걸리는 상황을 메트릭으로 풀 수 없는 이유는?
- 메트릭 수집 주기가 길어서
- p99 대신 p95 를 봐야 해서
- 샘플링 때문에
- 메트릭은 집계값이라 개별 요청의 경로를 복원할 수 없어서
W3C traceparent 에서 홉마다 바뀌는 값은?
- 헤더 맨 앞의 버전 필드
- 부모 스팬 ID
- 트레이스 ID
- 샘플링 플래그
CLIENT 스팬과 SERVER 스팬이 모두 있어야만 알 수 있는 값은?
- DB 쿼리에서 소비된 시간
- 네트워크와 큐잉에서 소비된 시간
- 가비지 컬렉션에 소비된 시간
- 직렬화에 소비된 시간
N+1 쿼리 문제가 메트릭에 안 보이는 이유는?
- 쿼리 결과가 캐시돼 실제로는 한 번만 나가서
- 로그 레벨이 낮아 쿼리 로그가 남지 않아서
- 개별 쿼리가 4ms 로 빨라 지연 분포가 정상으로 보여서
- 인덱스가 있어 각 쿼리가 풀스캔을 피해서
트레이스가 이상하게 짧을 때 가장 먼저 의심할 곳이 아닌 것은?
- 자동 계측이 감싸지 못한 자체 HTTP 클라이언트
- 스레드 풀이나 워커로 작업을 넘기는 코드
- 메시지 큐를 넘는 지점
- 데이터베이스 인덱스 부재
자체 소요 시간(self time)이 큰 스팬이 뜻하는 것은?
- 자동 계측이 보지 못하는 인프로세스 작업이 숨어 있다
- 그 스팬과 자식 사이의 네트워크가 느리다
- 호출한 자식 서비스의 처리가 느리다
- 샘플링이 잘못돼 자식 스팬이 빠졌다