안녕하세요 질문 드립니다.
커뮤니티 사이트운영중인데
한 게시판에 게시글수가 19만개 입니다.
그래서 거기에 검색을 하면 속도가 느려지고 검색된 게시글을 누르면 너무 오래걸리는데 엘라스틱서치? 그거 말고는 해결할 방법이 없을까요?
PHP | PHP 7.2 |
---|---|
CMS | Rhymix 1.x |
안녕하세요 질문 드립니다.
커뮤니티 사이트운영중인데
한 게시판에 게시글수가 19만개 입니다.
그래서 거기에 검색을 하면 속도가 느려지고 검색된 게시글을 누르면 너무 오래걸리는데 엘라스틱서치? 그거 말고는 해결할 방법이 없을까요?
슈퍼캐시 모듈의 "검색 결과 캐시" 기능을 사용하시면 검색 후 게시글을 눌렀을 때 하단목록에서 검색 결과를 다시 불러오느라 느려지는 문제는 어느 정도 보완할 수 있습니다. 방금 검색해서 나왔던 목록을 재사용하니까요. 단, 처음 검색할 때 느린 것은 어쩔 수 없습니다.
MySQL 최신 버전에서 개선된 ngram full-text search 기능을 활용해서 엘라스틱 없이 땜빵하는 방법도 있겠습니다만, 비용 대비 효율은 더 낮을 테고... 코어 자체에서 지원하기에도 걸림돌이 많네요.
기존에 계속 질문하셨을때 해결해야 한다고 했던 쿼리를 발생시키는 부분 해결은 하셨나 모르겠네요.
스샷의 3번째 쿼리가 문제가 될 수 있다고 답을 해주셨는데 이에 대한 해결 여부를 따로 댓글로 다시 달아주지 않으셔서 해결을 안하신 거로 보입니다만..
기본적으로 게시판 목록 자체가 느릴수 있는 부분이 있다면 그 부분은 제거하고 다른 방법도 찾고 해야 할 것 같네요.
지금 스샷에 보이는 문서번호들로 콕 찍어서 요청하는데 불구하고 list_oder 로 요청되어 문서번호를 콕 찍는 간단한 작업 외 전체를 불러와서 찾아야 하는 비효율적인 쿼리라고 지적해 주신 부분이 있습니다.
가장 최근의 슬로우 쿼리 로그들입니다.
예전에 기진곰님이 말씀하신대로 적용은 했는데 위와같이 찍히고 있습니다.
그정도면 엘라스틱 서치 쓰셔야할꺼 같은데요..?
어차피 트래픽 비용도 만만치 않게 나올꺼 같은데, 겸사겸사 돈 조금 쓰셔서 의뢰로 시원하게 구축하시는것도 좋아보입니다
혹은 여기 XE타운처럼 구글 검색으로 돌리시는 것도 방법이 되겠네요