GitLab 성능 모니터링
GitLab 성능 모니터링을 사용하여 성능 병목 현상을 감지하고 SQL 쿼리, Ruby 처리 및 시스템 리소스에 대한 자세한 메트릭을 확인하는 방법을 설명합니다.
GitLab Performance Monitoring을 사용하면 성능 병목이 사용자에게 영향을 주기 전에 감지할 수 있습니다. 응답이 느려지거나 메모리 문제가 발생하면 SQL 쿼리, Ruby 처리, 시스템 리소스에 대한 상세 메트릭으로 정확한 원인을 짚어낼 수 있습니다. 성능 모니터링을 도입한 관리자는 문제가 인스턴스 전체로 번지기 전에 잠재적 문제를 즉시 알림으로 받습니다. 트랜잭션 시간, 쿼리 실행 성능, 메모리 사용량을 추적해 조직에 맞는 GitLab 성능을 유지합니다. GitLab Performance Monitoring 구성 방법은 다음 문서를 참고합니다. Prometheus 문서 . Grafana 구성 . Performance bar . 수집되는 메트릭은 두 가지입니다. 트랜잭션별 메트릭. 샘플링 메트릭. 트랜잭션 메트릭 # 트랜잭션 메트릭은 개별 트랜잭션과 연결할 수 있는 메트릭입니다. 트랜잭션 소요 시간, 실행된 SQL 쿼리의 소요 시간, HAML 뷰 렌더링에 걸린 시간 같은 통계가 여기 해당합니다. 이 메트릭은 처리되는 모든 Rack 요청과 Sidekiq job에 대해 수집됩니다. 샘플링 메트릭 # 샘플링 메트릭은 개별 트랜잭션과 연결할 수 없는 메트릭입니다. 가비지 컬렉션 통계나 유지되는 Ruby 객체 수가 여기 해당합니다. 이 메트릭은 일정한 간격으로 수집되며, 이 간격은 두 가지 요소로 구성됩니다. 사용자가 정의한 간격. 그 간격에 더해지는 무작위 오프셋. 같은 오프셋이 연속해서 두 번 사용되지는 않습니다. 실제 간격은 정의된 간격의 절반부터 정의된 간격에 그 절반을 더한 값 사이가 됩니다. 예를 들어 사용자가 정의한 간격이 15초라면 실제 간격은 7.5초에서 22.5초 사이입니다. 이 간격은 한 번 생성해 프로세스가 살아 있는 동안 재사용하는 것이 아니라, 샘플링을 실행할 때마다 다시 생성됩니다. 사용자 정의 간격은 환경 변수로 지정할 수 있습니다. 인식되는 환경 변수는 다음과 같습니다. RUBY_SAMPLER_INTERVAL_SECONDS DATABASE_SAMPLER_INTERVAL_SECONDS ACTION_CABLE_SAMPLER_INTERVAL_SECONDS PUMA_SAMPLER_INTERVAL_SECONDS THREADS_SAMPLER_INTERVAL_SECONDS GLOBAL_SEARCH_SAMPLER_INTERVAL_SECONDS