전체 게시판중에 유독 한 게시판에서만 로딩이 많이 걸립니다..
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 5.x |
안녕하세요.
XE로 제작된 사이트를 관리하던 도중 유독 한 게시판에서만 로딩이 5~6초 정도 걸린다고 해서 살펴본 결과
그 게시판의 TTFB가 5~6초 정도를 차지하고 있었습니다.
그래서 여러번 구글링을 해본 결과 슈퍼캐시라는걸 알게 되고 바로 설치하여 도입을 해보았지만
비회원일때만 TTFB가 0.5초 정도로 잡히고 회원일시에는 그대로 5~6초로 정도로 나옵니다.
정확히 어떤 증상때문에 이렇게 시간이 오래 걸리나 디버그를 해본 결과 DB queries가 원인이였습니다.
다른 게시판하고 똑같은 게시판인데 쿼리에서 이렇게 로딩이 오래 걸리는 경우가 있나요?
만약 해결 방법이 있다면 어떻게 해결할 수 있을까요?
전문가들의 조언이 필요합니다 ㅠㅠ
댓글 10
혹시 해당 게시판에서만 특정한 쿼리가 진행되지는 않나요??
데이터 정렬이라거나... 특정 값만 필터링한다거나...
/admin 페이지에서 고급설정쪽 보시면 디버그 옵션 있는데 켜보시면 어떤 부분에서 쿼리가 발생하는지 확인가능합니다. (라고 작성했는데 XE사용중이시네요... XE에는 지원하는지를 모르겠네요... 라이믹스에는 있던데...ㅠㅠ)
쿼리 디버그까지 한번 살펴봤습니다.
다른 게시판과는 다르게 업데이트 문이 있었고 getAnalyticsLog 라는 곳에서 에러가 나는게 원인인거 같습니다.
한번 조치후 속도 측정 해보겠습니다 감사합니다.
윗분 말씀처럼 관리자 페이지 -> 시스템설정 -> 디버그설정 -> 느린쿼리 채크 (시간 설정 1초 이상)
하신다음 느리게 돌아가는 쿼리가 어떤것인지 확인해보시면 됩니다.
XE 1.7.8 버전을 사용중인데 이 버전에 느린쿼리 라는 기능이 있는건가요?
관리자페이지에서 네이버아날리틱스 모듈을 찾으신건가요?
답변 늦어서 죄송합니다.
정확히 모듈을 중지시키는 방법을 몰라 FTP에 있는 아날리틱스 모듈과 DB에 있는 아날리틱스 테이블을 삭제했습니다.
삭제하자 페이지 전체가 응답이 없어서 다시 롤백한 상황입니다.
오늘 몇가지 분석해본 결과 로그인한 상태에서 나오는 쿼리 디버그와 비로그인 상태에서 나오는 쿼리 디버그를 비교해보니
로그인 상태에서는 analytics.getAnalyticsLog 에서 failed이 뜨면서 속도가 지연되고 있었고
비로그인 상태에서는 module.getModuleGrants 에서 failed이 뜨면서 속도가 지연되고 있습니다.
또 게시글을 열람할 시에는 getModuleInfoByDocument 에서 failed이 뜨면서 속도가 지연되고 있습니다.
failed이 난 쿼리를 보니 로그인, 비로그인 상태에서 동일한 쿼리로 에러가 나고 있습니다.
아래는 비로그인 상태에서 나오는 디버그 입니다.
게시판 열람시 나오는 디버그 입니다.
처리시간 5초정도 걸린 쿼리문입니다.
fail이 나온 쿼리문 입니다.
쿼리문을 보아하니 공지하고 관련이 있는거 같긴 합니다만..
아직까지 초보라서 어떻게 대처를 해야할지 막막하네요....
http://www.mhrnd.re.kr/xe/notice
혹시 몰라 문제되는 사이트 url도 남겨봅니다.. 감사합니다.
---------------------------------------추가--------------------------------------
결국 원인을 못찾아 새로 게시판을 증설하고 게시글을 다 이동시키니 다른 게시판하고 동일한 속도로 돌아왔습니다.
게시판 id가 notice인 경우에만 생기는 문제였던거 같습니다.
도움을 주신 분들에게 감사 인사 남깁니다. 정말 감사합니다.
라이믹스이신줄 알았습니다
XE에서는 없는 옵션이네요 ㅠㅠ
혼란을 드려 죄송하고요, XE쿼리 속도 측정을 확인해보시길 바랍니다.
관련 문서 : https://opencocktail.tistory.com/entry/%EB%94%94%EB%B2%84%EA%B7%B8-%EC%A0%95%EC%9D%98-%EC%84%A4%EB%AA%85