Skip to content
SON BLOG
Go back

OpenSearch 사용자 사전 등록 방식에 따른 시스템 부하 테스트 결과

Edit page

띵샵 검색엔진에서 사용자 정의 사전(user_dictionary) 적용 방식에 따라 검색 성능 및 시스템 부하에 유의미한 차이가 발생함을 확인하였습니다. 특히 기존에는 OpenSearch 인덱스 설정(settings.user_dictionary_rules)에 사전 데이터를 직접 입력하였으나, 대규모 사전(약 60,000건) 반영 이후 성능 저하 및 시스템 불안정 이슈가 발생하였습니다.

이에 .txt 외부 파일 참조 방식으로 변경 시 성능 개선 가능성을 검증하기 위해, 동일 조건에서 벤치마크 테스트를 진행하였습니다.

2. 테스트 조건

항목
요청 수량10,000건
동시 요청 수500 Thread
비교 방식settings 직접 입력 방식 vs .txt 파일 참조 방식
테스트 환경동일 클러스터, 동일 검색 API

3. 성능 비교 결과

항목settings 방식.txt 방식차이 분석 (.txt 기준)
총 실행 시간 (초)20.6411.68▼ 8.96초 감소 (43.4%)
TPS (초당 요청 수)484.44856.08▲ +76.7% 향상
OpenSearch Took 평균 (ms)754.76288.85▼ 61.7% 감소
OpenSearch Took P99 (ms)6873.01336.0▼ 매우 큰 차이
전체 응답 시간 평균 (ms)1016.61565.37▼ 44.4% 감소
Query Profile 평균 (ms)6.801.55▼ 77.2% 감소

4. 개선 방향 및 제안

권고 사항

적용 작업 내역

구분작업 내용비고
1검색 API(search-nest) 서버와 OpenSearch 서버 간 통신 확인방화벽 및 보안 그룹 점검, 필요시 내부 프록시/VPN 구성
2사용자 사전 적용 방식 변경기존 settings.user_dictionary_rules 제거 → tokenizeruser_dictionary 경로 설정으로 교체. 배포 필요

5. 결론

.txt 참조 방식은 대규모 사전 환경에서도 성능 저하 없이 안정적인 운영이 가능하며, 클러스터 리로드나 노드 재배치 등에도 영향이 적습니다.
장기적인 관점에서 검색 품질 유지와 운영 효율성을 동시에 확보할 수 있는 방안으로 판단됩니다.


Edit page
Share this post:

Previous Post
OpenSearch Star-tree Index — 사전 집계로 Aggregation 성능 극대화
Next Post
OpenSearch Embedding 모델 등록 및 활용