검색 기능 고도화 하기 3 - 성능 테스트

HYK·2023년 3월 18일
1

project

목록 보기
7/8
post-thumbnail

검색 성능 테스트하기

MYSQL vs Elasticsearch 검색 응답 속도는 얼마나 차이가 날까?


테스트 방법

Warm Up 후 각 키워드별 10회씩 검색하기

  1. Index Search vs Elasticsearch 20만 건 이상
  2. MYSQL Full-Text-Search vs Elasticsearch 100건이하

검색 데이터가 많은 경우에는 전문 검색을 사용하기 어려워 Index 검색으로 비교했다.


MYSQL Index Search vs Elasticsearch (20만 건 이상)

  • MYSQL Index Search
  • Elasticsearch



결과

  • 그래프

회차mysqlelasticsearch
1회1 m 26.22 s518 ms
2회1 m 21.02 s535 ms
3회1 m 25.98 s529 ms
4회1 m 27.00 s610 ms
5회1 m 26.52 s550 ms
6회1 m 27.18 s529 ms
7회1 m 28.02 s527 ms
8회1 m 28.14 s538 ms
9회1 m 27.30 s524 ms
10회1 m 27.18 s518 ms
평균1 m 26.456 s538 ms

MYSQL Full-Text-Search vs Elasticsearch (100건 이하)

  • MYSQL Full-Text-Search
  • Elasticsearch



결과

  • 그래프

회차mysqlelasticsearch
1회54 ms28 ms
2회14 ms19 ms
3회16 ms20 ms
4회20 ms24 ms
5회19 ms18 ms
6회14 ms23 ms
7회18 ms21 ms
8회21 ms16 ms
9회18 ms28 ms
10회23 ms17 ms
평균22 ms21 ms

정리

데이터가 적은 경우에는 MYSQL의 Full-Text-Search는 Elasticsearch와 거의 차이가 나지 않아서 데이터가 엄청 많지 않은 경우는 Elasticsearch이 대안으로 충분히 사용할 수 있겠다는 생각이 들었다.
하지만 대용량 데이터나 전반적인 검색의 속도는 Elasticsearch이 빨랐다.

profile
Test로 학습 하기

0개의 댓글