Redis
[Redis] Monitoring Metrics
DevHyo
2022. 1. 29. 20:11
Redis 클라이언트를 통해 Redis에 접속하면, info all의 명령으로 정보를 수집할 수 있는 Redis 자체의 Metric이 있다.
Memory
used_memory_rss
- Redis가 현재 사용하고 있는 실제 물리 메모리 양
- 실제 물리 메모리 사용량이 많으면, Swap이 일어나서 성능이 떨어진다.
used_memory
- 현재 Redis에 할당된(사용하고 있는) 메모리 양
- jemalloc의 값을 저장하고 있다가 보여준다.
mem_fragmentation_ratio
- 실제 사용하는 메모리(used_memory)에 비해 Redis가 OS에 할당받은 메모리(used_memory_rss)의 양이 많을 경우, 낭비되는 메모리가 생기고 이러한 경우에 mem_fragmentation_ratio 수치가 올라간다.
- mem_fragmentation_ratio = used_memory_rss / used_memory
- 비율이 높으면, fragmentation이 높다고 보면 된다.
- 1 ~ 1.5 이내의 범위를 유지하고 있다면, 메모리 관리가 잘 되고 있다고 보면 된다.
- 1보다 적으면, swap이 발생하고 있다고 보면 된다.
- 1보다 적거나 1.5를 넘어가는 경우, Redis 서버를 재시작하는 것도 방법이다.
Stats
instantaneous_ops_per_sec
- 초당 실행 명령 수
total_commands_processed
- 지금까지 처리한 명령 수
expired_keys
- 지금까지 expireation이 발생한 이벤트의 수
eviced_keys
- 메모리가 부족해서 사라진 Key의 수
keyspace_hits
- Cache Hit 수
keyspace_misses
- Cache Miss 수
Clients
connected_clients
- 현재 접속해 있는 클라이언트의 수
- 해당 값이 큰 폭을 이루는 상태라면, 성능이 떨어진다는 의미이다.
maxclients
- 접속할 수 있는 최대 클라이언트의 수
Replication
master_repl_offset
- Primary 노드의 Replication Offset
slave_repl_offset
- Replica 노드에서 확인할 수 있으며, Replica 노드의 Replication Offset
- replication_lag = master_repl_offset - slave_repl_offset
- replication_lag란 Primary 노드에서 변경 내용을 적용할 때, Replica 노드에서 경과된 시간(초)을 나타낸다.
참고
https://fastcampus.co.kr/dev_red_kdm
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=theswice&logNo=221524062802
https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html