데이터베이스 성능 모니터링

데이터베이스 성능 모니터링 (Monitor database performance) (monitor-performance)

Redis 공식 문서의 monitor-performance 페이지를 한국어로 풀어드릴게요. 옆에서 하나씩 설명해 드리는 느낌으로 읽으시면 돼요.

출처: Redis 공식 문서 — monitor-performance

Redis Cloud에서 데이터베이스 성능을 모니터링하는 방법을 알려드릴게요. Redis Cloud는 데이터베이스 성능을 모니터링하는 데 도움이 되는 다양한 메트릭을 제공해요. 언제든지 성능 데이터 그래프를 보고, 성능이 정의된 임계값을 넘으면 이메일을 받을 수도 있어요.

데이터베이스 메트릭 보기 (View database metrics)

View Database 화면의 Metrics 탭은 데이터베이스의 성능 데이터를 보여주는 일련의 그래프를 제공해요. 성능 데이터는 데이터베이스가 어떻게 사용되고 얼마나 잘 수행되고 있는지에 대한 통찰을 줘요.

메트릭 구간 (Metric intervals)

구간(interval) 스크롤바는 그래프에 표시되는 시간 범위를 제어해요. 사용 가능한 구간은 이래요.

구간 (Interval) 해상도 (Resolution)
5분 30초
15분 30초
1시간 1분
1일 5분
1주 30분
1개월 4시간
3개월 12시간

메트릭 그래프 승격 (Promote metric graphs)

Metrics 화면은 두 개의 기본(primary) 그래프와 여러 개의 작은 그래프를 보여줘요. 작은 그래프를 기본 위치로 승격(promote)할 수 있어요.

작은 그래프에 마우스를 올리면 세 가지가 나타나요.

  • 왼쪽을 가리키는 승격 아이콘
  • 오른쪽을 가리키는 승격 아이콘
  • 그래프에 표시된 최소·평균·최대·가장 최근 값을 보여주는 요약 패널

왼쪽 아이콘은 작은 그래프를 왼쪽 기본 위치로, 오른쪽 아이콘은 오른쪽 기본 위치로 승격해요.

메트릭 정의 (Metric definitions)

사용 가능한 메트릭 그래프는 다음과 같아요.

메트릭 설명
Ops/sec 모든 Redis 명령에 대한 초당 전체 연산 수
Reads/sec 초당 읽기 연산 수
Writes/sec 초당 쓰기 연산 수
Other cmds/sec 초당 기타 Redis 명령 수
Latency 연산당 지연 시간(밀리초)
Reads latency 읽기 연산당 지연 시간(밀리초)
Writes latency 쓰기 연산당 지연 시간(밀리초)
Other latency 기타 명령의 지연 시간(밀리초)
Used memory 데이터베이스가 사용하는 메모리 양
Total keys 데이터베이스의 전체 키 수
Connections 엔드포인트로의 총 연결 수
Evicted objects/sec 데이터베이스에서 초당 축출된 객체 수
Expired objects/sec 초당 만료된 객체 수. 만료된 객체는 TTL이 만료되어 데이터베이스에서 삭제된 객체
Hit ratio 전체 데이터베이스 연산 중 기존 키에 대한 연산의 백분율
Network Ingress bytes/sec 데이터베이스 네트워크로 유입되는 초당 트래픽(바이트)
Network Egress bytes/sec 데이터베이스 네트워크에서 유출되는 초당 트래픽(바이트)

더 상세한 분석에는 Redis InsightPrometheus and Grafana를 고려해 보세요.

알림 구성 (Configure alerts)

구독 플랜에 따라 특정 데이터베이스의 여러 메트릭에 대해 알림을 활성화할 수 있어요. 데이터베이스의 알림 설정을 찾으려면: Essentials 데이터베이스는 데이터베이스 화면의 Alerts 탭을, Pro 데이터베이스는 Configuration 탭의 Alerts 섹션을 찾으면 돼요.

설정 이름 설명 기본값 허용 범위
Dataset size has reached 데이터셋 크기가 메모리 한도의 정의된 백분율에 도달하거나 초과하면 알림. (Pro 전용) 80% 1-100%
Total size of datasets under this plan reached 플랜의 모든 데이터셋 총 크기가 플랜 한도의 정의된 백분율에 도달하거나 초과하면 알림. (Essentials 전용) 80% 1-100%
Throughput is higher than 처리량이 정의된 한도(ops/sec)를 초과하면 알림. (유료 Essentials 또는 Pro 전용) 1000 ops/sec 1-10000000 ops/sec
Throughput is lower than 처리량이 정의된 한도(ops/sec) 미만이면 알림. (유료 Essentials 또는 Pro 전용) 10 ops/sec 1-10000000 ops/sec
Latency is higher than 지연 시간이 정의된 한도(밀리초)를 초과하면 알림. (유료 Essentials 또는 Pro 전용) 10 msec 1-10000 msec
Number of connections 연결 수가 플랜 한도의 정의된 백분율을 초과하면 알림. (Essentials 전용) 80% 1-100%
Replica Of - database unable to sync with source 대상 데이터베이스가 정의된 초 수 후에도 소스 데이터베이스와 동기화하지 못하면 알림. (Pro 전용) 1초 0-1초
Replica Of - sync lag is higher than 소스와 대상 데이터베이스 사이의 지연이 정의된 초 수를 초과하면 알림. (Pro 전용) 600초 1-86400초

알림 설정은 각 데이터베이스별로 적용돼요. 원하는 모든 데이터베이스에 알림을 구성했는지 확인하세요.

알림 수신자 변경 (Change alert recipients)

계정 팀의 모든 구성원이 알림 이메일을 받을 수 있어요. 한 명 이상 팀 구성원의 알림 설정을 업데이트하려면 Redis Cloud 콘솔 메뉴에서 Access Management를 선택한 뒤 Team 탭을 선택하세요. 자세한 내용은 Access management를 참고하세요.

Platform-as-a-Service(PaaS) 제공자(예: Heroku)를 통해 Redis Cloud를 구독했다면 팀 관리에 대한 제공자 문서를 확인해야 해요.

Prometheus 연결 (Connect to Prometheus)

Redis Cloud는 Redis Cloud Pro 데이터베이스에 대해 Prometheus 엔드포인트를 노출해요. 이 엔드포인트를 사용해 Prometheus를 데이터베이스에 연결할 수 있어요.

데이터베이스의 Metrics 탭에서 Connect to Prometheus > Copy Prometheus endpoint를 선택해 Prometheus 엔드포인트를 클립보드에 복사하면 돼요. 또한 GET /subscriptions/{subscriptionId}를 호출하고 응답에서 prometheusEndpoint를 가져와 엔드포인트를 얻을 수도 있어요.

Prometheus를 Redis Cloud에 연결하는 방법에 대한 자세한 내용은 Prometheus and Grafana with Redis Cloud를 참고하세요.

더 알아보기 (Learn more)

성능 모니터링을 더 배우고 싶다면 아래를 확인해 보세요.