codedang icon indicating copy to clipboard operation
codedang copied to clipboard

인프라 구성요소간의 시간 소요를 측정하기 위한 분산 추적 모니터링 Jaeger or opentelemetry 도입

Open goathoon opened this issue 2 years ago • 1 comments

Describe the problem and solution

교수님께서 11월에 확인해달라고 하신 내용은 다음과 같습니다.

  1. Scale Out했을 때 성능이 linear하게 증가하는지 확인하기 (컨테이너 2개에서 4개로 늘리면 채점 2배 빨라지는지)
  2. 하나의 요청은 response time 어떻게 되는지
  3. 무거운 채점을 처리할 때 채점 시간이 전체 처리 시간 중 비율이 얼마나 되는지
  4. 하나의 요청에서 component 별로 걸리는 시간 알아보기 (API에서 처리하는 시간, MQ에서 대기하는 시간, 실제 채점 시간)

현재 모니터링 도구를 검증중에 있는데, DataDog과 Grafana만으로 위 사항들을 트래킹하기에 충분치 않아 보입니다. 여러 인프라 구성 요소들 (MQ, Iris, Client) 들 각자의 처리 시간을 자세히 트래킹 하기 위해서 무엇이 적합할지 서칭한 결과, 분산 추적 모니터링 시스템을 도입하는 것이 가장 적합하다고 생각됩니다.

그중 type script 진영에서 많이 사용하기도 하고 무료로 사용할 수 있는 오픈 소스인 opentelemetry 도입을 검토하려고 합니다.

Validations

goathoon avatar Dec 25 '23 13:12 goathoon

opentelemetry 도입 후 production 환경에서 jaeger로 트래킹할 수 있을 것으로 예상합니다.

goathoon avatar Dec 25 '23 15:12 goathoon