Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Python
- 코틀린인액션
- Kotlin in action 6장
- Kotlin In Action
- Kotlin
- KotlinInAction
- 13460 구슬탈출 2
- 스프링 컨테이너와 스프링 빈
- 백준 13460 Python
- 백준
- 객체 지향 설계와 스프링
- spring
- Kotlin in action 10장
- 싱글톤 컨테이너
- 코틸린인액션
- 컨베이어 벨트 위의 로봇 Python
- 자바 ORM 표준 JPA 프로그래밍 7장
- 20055 컨베이어 벨트 위의 로봇
- 7장 고급매핑
- 20055
- 고급매핑
- Kotlin in action 5장
- kotlin in action 정리
- 스프링 핵심 원리
- 스프링 핵심 원리 - 기본편
- 백준 20055 컨베이어 벨트 위의 로봇
- 스프링 핵심 원리 이해
- Kotlin in action 3장
- 코틀린
- 기능개발 python
Archives
- Today
- Total
기록하는 습관
[Test] Redis 조회 테스트 본문
개요
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