본문 바로가기
BackEnd/Project

[BigData] Ch06. Redis 서비스 Test

by 개발 Blog 2024. 9. 16.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

 

Redis를 효율적으로 사용하고, 시스템의 성능을 평가하기 위해 Redis Benchmark 도구를 사용한 벌크 테스트 방법을 소개한다. 이 테스트는 Redis의 성능을 측정하고, 다양한 설정에 따른 성능 변화를 관찰할 수 있도록 해준다.

 

Redis Benchmark

Redis Benchmark는 Redis 설치 시 기본적으로 제공되는 성능 테스트 도구다. 이 도구를 사용하여 서버의 처리능력을 간단하게 테스트할 수 있다. 

 

$ redis-benchmark

이 명령어를 실행하면, Redis 서버에 대한 일련의 기본 테스트가 수행되며, 여러 가지 요청 유형에 대한 응답 속도와 처리량을 확인할 수 있다.

 

주요 테스트 옵션과 사용 예

Redis Benchmark를 사용할 때, 다음과 같은 옵션들을 조정하여 테스트를 커스터마이즈 할 수 있다:

  • -c <clients>: 동시에 요청을 보내는 클라이언트의 수
  • -n <requests>: 전송할 요청의 총 개수
  • -d <size>: 요청 데이터의 크기 (단위: 바이트)
  • -r <keyspacelen>: 테스트에 사용할 무작위 키의 범위

예를 들어, 50,000개의 요청을 100,000바이트 데이터 크기로, HSET 명령을 사용해 테스트하고자 할 때는 다음과 같은 명령을 사용한다.

$ redis-benchmark -n 50000 -d 100000 -t hset -r 5000 -c 500

이 경우, 무작위 키 범위를 5,000으로 설정하고, 500개의 클라이언트가 동시에 HSET 요청을 수행한다.

 

성능 테스트 결과 해석

테스트를 수행한 후에는 요청당 평균 응답 시간, 처리량(초당 요청 수), 및 각 백분위수에 따른 지연 시간 분포 등의 정보를 제공받는다. 이 데이터는 Redis의 현재 성능 상태를 이해하고, 필요한 경우 서버 설정을 조정하는 데 유용하게 사용될 수 있다.

 

예를 들어, 클라이언트의 수를 변경하면 처리량이나 응답 시간에 어떤 영향을 미치는지 관찰할 수 있다. 클라이언트 수가 적을수록 각 클라이언트에 할당되는 리소스가 더 많아져 처리 속도가 빨라진다는 점을 알 수 있다.

 

Redis Benchmark를 통한 이러한 성능 테스트는 Redis 기반 애플리케이션의 성능을 최적화하고, 시스템 설계 시 중요한 지표를 제공한다. 따라서 Redis를 사용하는 시스템에서는 주기적으로 성능 테스트를 수행하여 시스템의 상태를 점검하는 것이 좋다.