elastic 모니터링과 속도측정테스트 2

kang·2024년 11월 20일
0

Spring_ELK

목록 보기
7/10

요약

  • 생각을 해보니 이렇게 나올 수 밖에 없었던 것 같다.
    일단 첫번째로, 데이터 처리 과정 자체가 너무 달랐다.
    그리고 비교했던 mysql 쿼리문이 굉장히 단순한 편이어서 데이터 처리 속도가 월등히 빠를 수밖에 없다고 판단했다.

Elasticsearch 속도가 느린 원인 분석

a. 데이터 크기

  • 테스트 데이터가 작을 경우:
    ES는 큰 데이터를 다룰 때 최적화되기 때문에, 데이터 양이 작으면 MySQL보다 더 많은 오버헤드(예: 네트워크 호출, JSON 직렬화/역직렬화)로 인해 느릴 수 있습니다.
  • 실제 운영 데이터 크기:
    운영 데이터가 많다면 ES가 효율적일 가능성이 높지만, 테스트 데이터에서는 상대적으로 느릴 수 있습니다.

b. ES 쿼리 복잡도

  • 쿼리에서 filter, match, sort, aggregation 등 복잡한 조합이 있다면, 성능 저하가 발생할 수 있습니다.
  • 쿼리가 최적화되지 않았을 가능성이 있습니다.

c. 네트워크 오버헤드

  • ES는 MySQL과 달리 HTTP 통신을 통해 데이터를 교환합니다. 이로 인해 네트워크 지연이 발생할 수 있습니다.
  • 로컬 네트워크 환경(테스트용 Docker 등)에서도 지연이 발생할 수 있습니다.

d. ES 인덱스 설정

  • 인덱스 설정에서 refresh_interval, number_of_shards, number_of_replicas 설정이 성능에 영향을 미칠 수 있습니다.
  • 디폴트 값이 최적화되지 않았을 가능성이 있습니다.

filter - keyword
admin/searcgh - search/reservation

이렇게 단순쿼리, 복합쿼리로 나누어서 결과물을 처리해보았다.

아무래도 mysql쪽에 인덱싱 처리가 되어있기도하고, 네트워크 이슈등 다양한 이슈가 있을 것 같아서 정확한 검색이 안 된 것 같다고생각했다. 처음이라 주먹구구식으로 시도해본 결과라 더 그런듯...

profile
뉴비 개발 공부중

0개의 댓글