
DevOps 엔지니어의 Redis Test 분투기 - Part 1
두줄요약
Redis 키 만료·재적재 시 동시 요청으로 발생한 성능 저하를 API 부하 테스트로 재현했습니다.\n컬렉션 선택과 캐시 장애 시 DB 부하 대응, 리소스 모니터링의 중요성을 확인했습니다.
문제 상황
- Look-Aside-Caching API의 Redis 키 적재 실패로 RDS 부하 집중과 장애 발생
- Redis 표준 규격 및 성능 기반 사이징 사례 부재
해결 방법
- Node.js·Express API와 nGrinder로 키 만료 후 GET/SET 동시 호출 상황 재현
- AWS ElastiCache 제약으로 redis-benchmark 대신 애플리케이션 수준 부하 테스트 선택
- redis-cli 통계·지연 시간과 CPU 사용률 기반 리소스 관찰
원인 분석
- 키 부재 또는 만료 직후 다수 요청의 SET·값 확인 루프 집중
- 단일 프로세스 Redis에서 느린 명령과 빈번한 동일 키 변경에 따른 성능 저하
- 루프 제거 후 CPU 사용률 감소와 평균 TPS 상승
주의할 점
- 데이터 특성에 맞는 Collection 선택과 Redis 장애 시 DB 부하 대응책 필요
- 물리 메모리 초과, Cluster·Failover 용도 혼동, Pub/Sub의 메시지 보관 부재 유의

