✅ 테스트 시나리오 개요
📌 목적
- 검색 API의 성능을 비교하기 위해 3가지 버전으로 나누어 테스트 + 인덱스 적용 시 변화 테스트
- 기본 검색 API (
/v1/posts/search
)
- In-memory 캐시 적용 API (
/v2/posts/search
)
- Redis 캐시 적용 API (
/v2/posts/search
)
📌 데이터 조건
- 유저: 500명
- 게시글(Post): 100만 개
- 각 사용자당 검색 요청 1회
- 검색 키워드는 CSV 파일에서 랜덤하게 주입
📊 테스트 결과 요약
1. Index 미적용 (Aggregate Report 기준)
구분 |
평균 응답시간 (ms) |
최대 응답시간 (ms) |
오류율 |
처리량 (Throughput) |
표준편차 |
전송량 (KB/sec) |
v1: 기본 API |
24,293 |
39,007 |
17.2% |
5.13 req/sec |
매우 큼 |
3.41 (수신) |
v2: In-memory 캐시 |
610 |
7,441 |
0.0% |
8.35 req/sec |
낮음 |
5.98 (수신) |
v3: Redis 캐시 |
646 |
7,116 |
0.0% |
8.35 req/sec |
낮음 |
3.43 (수신) |
2. Index 적용 (Aggregate Report 기준)
구분 |
평균 응답시간 (ms) |
최대 응답시간 (ms) |
오류율 |
처리량 (Throughput) |
표준편차 |
전송량 (KB/sec) |
v1: 기본 API |
40 |
1,863 |
0.0% |
8.35 req/sec |
낮음 |
5.98 (수신) |
v2: In-memory 캐시 |
5 |
1,646 |
0.0% |
8.35 req/sec |
낮음 |
5.98 (수신) |
v3: Redis 캐시 |
14 |
1,638 |
0.0% |
8.35 req/sec |
낮음 |
4.04 (수신) |
3. 비교 그래프
.png)