기록하는 습관

[Test] Redis 조회 테스트 본문

개발/Test

[Test] Redis 조회 테스트

로그뉴 2022. 7. 13. 11:27

개요

RMapCache<String, String> 구조로 저장되어 있는 data 조회 테스트

  • 조회는 Redis의 scan을 사용한다.
  • scan 명령어는 정해진 count 개수 만큼 결과를 가져오고, offset 값을 반환 하기 때문에 keys 명령어 처럼 오랜 시간을 block 하지 않는다.

 

테스트 종류

1) count 최적치 테스트

  • redis에서 iterator를 사용해 keySet을 불러올 수 있는데, 이 때 batch size(count)를 지정해 불러올 수 있다.
  • readAllKeySet() 함수는 count 지정하지 않고 모두 불러오는 함수

 

테스트 방법: 100만건의 key 조회 테스트 - Collection 당 1만개의 key 존재, 100번의 collection을 for loop로 순회. collection scan 시 count 별 latency 측정

count 시간 (100만개) 시간 (1만개)
2000 4.04초 0.1초
5000 3.78초 → 3.84초 (2번째 시도) 0.11초
6000 3.65초 → 3.75초 (2번째 시도) 0.12초
0 (readAllKeySet) 20.5초 0.38초

 

결론: keySet 호출시, count는 6000으로 진행한다.

 

2) exist key 성능 테스트

테스트 방법: redis에서 key를 찾는 것과, mysql에서 key를 찾는 시간 비교.

  • redis에서 찾을 때에는 100개의 collection 순회 필요.
  • 100만개 datakey 기준
구분 시간 (1개의 key)
redis 0.38초
mysql 0.24초

'개발 > Test' 카테고리의 다른 글

[Test] Redis 저장 (for vs. stream)  (0) 2022.07.13
테스트 자동화 (1) - Newman  (0) 2022.07.12
Comments