반응형
레디스의 성능 측정에 대해서..
- 서비스에 새로운 솔루션을 도입하려면, 반드시 성능 측정이 수반됨.
- 얼마나 많은 요청을 한꺼번에 처리할 수 있는지와 요청 하나를 처리하는데 걸리는 시간등등을 측정하여 도입 여부를 결정하고 도입할 하드웨어 사양을 결정함.
- 즉, 성능측정을 위해서는 많은 시간이 소요됨.
- 레디스는 성능 측정을 위해서 아래 툴을 지원함.
- redis-benchmark
성능 측정
- $ redis-benchmark
- 주요 option 설명
- -h <hostname>
- 테스트를 수행하기 위해 접속할 레디스 서버의 호스트명
- 기본값 : 127.0.0.1
- -p <port>
- 테스트를 수행하기 위해 접속할 레디스 서버의 포트
- 기본값 : 6379
- -s <socket>
- 테스트를 수행하기 위해 접속할 레디스 서버의 유닉스 서버 소켓
- -c <clients>
- 테스트를 위한 가상 클라이언트의 동시 접속 수
- 기본값 : 50
- -n <requests>
- 각 명령의 테스트 횟수
- 기본값 : 10000
- -d <size>
- 테스트에 사용할 데이터 크기
- -k <boolean>
- 테스트를 위한 가상 클라이언트의 접속유지 여부
- 0 : 접속 유지 하지 않음.
- 1 : 접속 유지함.
- 테스트를 위한 가상 클라이언트의 접속유지 여부
- -r <kerspacelen>
- 테스트에 사용할 랜덤 키의 범위
- 기본값 : 0
- -P <numreq>
- 파이프라인 명령을 사용한 테스트와 파이프라인당 요청할 명령의 개수
- 기본값 : 0 (파이프 미사용)
- -q
- 테스트 진행샇황을 출력하지 않고 결과만 출력
- -- csv
- 테스트 결과를 csv 포멧으로 출력함.
- -t <tests>
- 쉼표로 구분된 테시트 명령의 목록
- -h <hostname>
- 위의 명령 실행시 엄청난 속도(?)로 화면이 스크롤이 되면서 무언가가 출력됨.
- 주요 출력 정보는 아래와 같다.
- 명령을 처리하는 데 걸린 시간
- 클라이언트 동시 연결
- 저장 데이터의 크기
- 클라이언트 연결 유지 상태 정보
- 초당 처리된 명령 수
- 주요 option 설명
- 예시
결론
- 10년이상된 서버개발자입장으로 돌이켜 보면, 항상 새로운 프로젝트와 신규 프로세스 개발 시 성능 테스트는 피할 수 없는 즐겨야하는 과정이였음.
- 새로운 프로세스를 통해서 기대되는 성능 수치가 나오지 않을 경우, 고민하며 소스를 수정했던 기억이 있음
- 레디스에서는 손쉬게 성능 테스트를 할 수 있는 툴이 제공되어 감사했음.^^;
300x250
'좋아하는 것_매직IT > 9.redis' 카테고리의 다른 글
5.Redis, 꼭 알아야할 CAP 이론에 대해서 정리해 볼께요. (0) | 2021.01.11 |
---|---|
4.Redis, NoSQL에 대해서 전반적으로 알아볼께요. (0) | 2021.01.11 |
2.Redis, 레디스의 기본명령어에 대해서 알아볼까요? (0) | 2021.01.06 |
1.Redis, 레디스를 리눅스에 설치 및 실행을 한번 해볼께요. (0) | 2021.01.06 |
0.Redis, 레디스, 그리고 빅데이터에 대해서 간단히 알아보자. (0) | 2021.01.06 |