CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
제가 무슨 이유에선지 이 기능을 언제부터 사용하고 있지 않습니다. 어떤 이벤트 였는지 기억이 나지 않네요.
게시판 캐시에 관한 궁금증이 있습니다.
1.게시판 캐시 캐시의 기능은 비회원,회원 모두에게 제공된다.
2.타임라인 게시판에 적용해도 기능이 동작해서 도움이 된다.
3.문서읽기 하단에 나오는 목록에도 동일한 효과로 글열람 요청시 쿼리가 줄어든다.
위 내용 중 틀린점이나 혹은 추가적인 사용시 주의점이나 혹은 장점 등이 있을까요 ?
댓글 2
1. 맞습니다.
2. 캐시를 적용하여 빠르게 로딩한 게시판 목록을 타임라인 모듈이 폐기해 버리고 느려터진 방식으로 다시 생성합니다. 따라서 타임라인 게시판에서는 성능 개선 효과가 별로 없습니다.
3. 네. 글을 읽을 때마다 하단 목록의 페이징 계산을 위해 상당히 무거운 쿼리가 돌아가는데, 목록 화면에서 이미 계산해 놓은 것을 재사용하면 부하를 많이 줄일 수 있습니다. 그러나 하단 목록만 따로 취급하는 것은 아니고, 일반 목록 화면에서도 똑같이 작동합니다.
게시판 캐시 기능은 목록 자체를 캐싱하는 것이 아니라 (만약 그렇게 한다면 새 글이 안 보이겠죠?) 가상 글번호, 페이지 계산 등에 사용하는 몇몇 수치들만 캐싱하고, 새 글이 등록되거나 기존 글이 삭제되면 실시간으로 수치를 조정합니다. 따라서 회원, 비회원 무관하게 평소 게시판을 이용하는 데는 아무 영향도 없습니다. 게시판 캐시, 오프셋 쿼리 모두 항상 켜두어야 하는 기능입니다. 안 켜면 손해를 볼 뿐입니다.
게시판 하나에 글이 수십만 개 있다면 게시판 캐시를 적용하는 것만으로 CPU 점유율이 60~70% 감소할 수도 있습니다. 애초에 슈퍼캐시 모듈이 이런 사이트를 튜닝해 드리는 과정에서 생겨난 것이고, 동접수 1만 명 이상 되는 커뮤니티 사이트에서 검증된 기능입니다. 커뮤니티 사이트라면 게시판 캐시가 슈퍼캐시 모듈의 가장 중요한 기능입니다. 흔히 알고 있는 전체화면 캐시는 검색엔진 및 비회원의 접속 속도 향상을 위한 부가기능에 불과합니다.
제가 아마 다른 이유로 뭔가가 안되서 원인을 찾느라 꺼보고 다시 키지 않았나 보네요.
안키면 손해보니 바로 켰습니다. 감사합니다.
ps:전체화면 캐시는 쫄보라 봇에게는 제공하지 않고 있어요. 혹시라도 문서 내용 전달이 잘못될까봐.. 비회원에게 빠른 로딩을 제공해주는 것에 만족하고 있습니다.