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

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

Redis Cloud는 데이터베이스 성능을 모니터링할 수 있도록 다양한 지표(metrics)를 제공해요. 언제든지 성능 데이터의 그래프를 볼 수 있고, 성능이 정해진 임계값(threshold)을 넘으면 이메일로 알림을 받을 수도 있죠. 이 페이지에서는 Redis Cloud에서 성능을 어떻게 확인하고, 알림을 어떻게 설정하는지 하나씩 살펴볼게요.

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

데이터베이스 지표 보기 (View database metrics)

View Database(데이터베이스 보기) 화면의 Metrics 탭에서는 데이터베이스의 성능 데이터를 보여주는 일련의 그래프를 제공합니다.

이 성능 데이터는 데이터베이스가 어떻게 쓰이고 있고, 얼마나 잘 동작하고 있는지에 대한 통찰을 줘요.

지표 간격 (Metric intervals)

간격(interval) 스크롤바로 그래프에 표시되는 시간 범위를 조절할 수 있어요. 사용 가능한 간격은 다음과 같아요:

간격 (Interval) 해상도 (Resolution)
5 minutes 30 seconds
15 minutes 30 seconds
Hour 1 minute
Day 5 minutes
Week 30 minutes
Month 4 hours
3 months 12 hours

지표 그래프 올리기 (Promote metric graphs)

Metrics 화면에는 두 개의 기본(primary) 그래프와 그보다 작은 그래프들이 함께 표시됩니다. 작은 그래프 중 아무거나 골라 기본 위치로 올릴(promote) 수 있어요.

작은 그래프에 마우스를 가져가면 세 가지가 나타납니다:

  • 왼쪽으로 올리는 아이콘 (promotion icon pointing left)
  • 오른쪽으로 올리는 아이콘 (promotion icon pointing right)
  • 그래프에 표시된 값의 최솟값, 평균, 최댓값, 최근 값을 보여주는 요약 패널

올리기 아이콘을 사용해 작은 그래프를 기본 위치 중 하나로 승격시킬 수 있어요. 왼쪽 아이콘은 왼쪽 위치로, 오른쪽 아이콘은 오른쪽 위치로 올려줍니다.

지표 정의 (Metric definitions)

사용할 수 있는 지표 그래프는 몇 가지가 있습니다:

지표 (Metric) 설명 (Description)
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 데이터베이스에서 초당 축출(evicted)되는 객체 수
Expired objects/sec 초당 만료(expired)되는 객체 수. 만료 객체는 TTL이 만료되어 데이터베이스에서 삭제된 객체를 뜻해요.
Hit ratio 전체 데이터베이스 연산 중 기존 키에 대한 연산의 비율(퍼센트)
Network Ingress bytes/sec 데이터베이스 네트워크로 들어오는 초당 트래픽 양(바이트)
Network Egress bytes/sec 데이터베이스 네트워크에서 나가는 초당 트래픽 양(바이트)

더 세밀한 분석이 필요하다면 Redis InsightPrometheus와 Grafana를 고려해 보세요.

알림 설정 (Configure alerts)

구독(subscription) 플랜에 따라, 특정 데이터베이스에 대해 여러 지표의 알림을 켤 수 있어요.

그렇게 하려면 데이터베이스의 알림 설정을 찾아야 합니다. Essentials 데이터베이스는 데이터베이스 화면의 Alerts 탭을 선택하고, Pro 데이터베이스는 Configuration 탭의 Alerts 섹션에서 찾을 수 있어요.

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

알림 설정은 데이터베이스마다 다르게 적용돼요. 원하는 모든 데이터베이스에 알림이 설정되어 있는지 꼭 확인하세요.

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

계정 팀의 모든 구성원이 알림 이메일을 받을 수 있어요.

한 명 이상의 팀 구성원에 대한 알림 설정을 업데이트하려면 Redis Cloud 콘솔 메뉴에서 Access Management를 선택한 다음 Team 탭을 선택하세요. 자세한 내용은 접근 관리 (Access management) 문서를 참고해요.

Heroku 같은 Platform-as-a-Service(PaaS) 제공자를 통해 Redis Cloud를 구독하는 경우, 팀 관리에 관한 해당 제공자의 문서를 확인해야 합니다.

Prometheus에 연결하기 (Connect to Prometheus)

Redis Cloud는 Redis Cloud Pro 데이터베이스를 위한 Prometheus 엔드포인트를 제공합니다. 이 엔드포인트를 사용해 Prometheus를 데이터베이스에 연결할 수 있어요.

데이터베이스의 Metrics 탭에서 Connect to Prometheus > Copy Prometheus endpoint를 선택하면 Prometheus 엔드포인트를 클립보드에 복사합니다.

또한 GET /subscriptions/{subscriptionId} API를 호출하고 응답에서 prometheusEndpoint를 가져오는 방법으로도 Prometheus 엔드포인트를 얻을 수 있어요.

Prometheus를 Redis Cloud에 연결하는 방법에 대한 자세한 내용은 Redis Cloud와 Prometheus 및 Grafana 문서를 참고하세요.

Redis University로 학습 이어가기 (Continue learning with Redis University)

Redis Cloud 모니터링 개요 강좌를 통해 더 자세히 배워볼 수 있어요.

더 알아보기 (Learn more)