여러분, 안녕하세요.
최근 /search 쿼리에서 정기적으로 타임아웃이 발생하고 있습니다. 일부 검색어를 벤치마크해 본 결과, 특정 쿼리는 완료되는 데 최대 2분까지 걸리는 경우가 있었습니다. 이 게시물을 찾았지만, 이 문제를 해결하기 위한 추가적인 권장 사항이 있는지 궁금합니다. 저희 사례와 관련 있는 몇 가지 정보입니다:
- 타임아웃이 더 자주 발생하는 저희 가장 큰 사이트에는 약 1,700,000개의 게시물이 있습니다.
- 기본 postgresql autovacuum 설정을 사용 중입니다. 관련 테이블(
categories,posts,topics,post_search_data,users)에 대한 통계를 수집해 본 결과, 하루에 한 번 정도 vacuum이 실행되는 것으로 보아 죽은(dead) 행 때문에 검색이 느려지는 것은 아닌 것 같습니다. Jobs::ReindexSearch.new({})를 수동으로 실행해 보았지만, 상당한 개선은 보이지 않았습니다.
해당 사이트에서 rake search:reindex를 실행하는 것을 고려하고 있습니다. 이미 이 작업이 꽤 오랜 시간이 걸린다는 것은 알고 있지만, 다른 제안이 있는지 궁금합니다.
미리 감사합니다.