목록 보기
DevOps 엔지니어의 Redis Test 분투기 - Part 1
데브옵스

DevOps 엔지니어의 Redis Test 분투기 - Part 1

마켓컬리
마켓컬리
2020년 3월 4일

두줄요약

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의 메시지 보관 부재 유의

컬리 계열사 채용12건

채용 사이트에서 전체 보기

다음 읽기

#Redis 주제를 이어서 읽기

DevOps 엔지니어의 Redis Test 분투기 - Part 1

Redis 키 만료 시 동시 GET·SET이 집중되는 장애 상황을 API와 nGrinder로 재현했습니다.\n반복 조회 로직 제거로 CPU 사용률과 TPS 저하를 완화하고 운영 주의점을 정리했습니다.

마켓컬리
마켓컬리
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...