XE 공식 자료실

제작자
기진곰
등록일
2018-12-19
다운로드 수
2,054
링크2
poesis/xe-supercache

XE 성능을 획기적으로 높이고 서버 부하를 줄이기 위한 몇 가지 방법을 제공하는 모듈입니다.

라이선스
GPL v2
설치경로
./modules/supercache
최초 등록일
2016-11-17
전체 다운로드
6,265
체험하기

쉬운설치로 바로 체험할 수 있습니다

스크린샷

상세 설명

XE로 만들어진 사이트의 성능을 획기적으로 높이고 서버 부하를 줄이기 위한 몇 가지 방법을 제공하는 모듈입니다. XE 버전에 따라 일부 기능이 지원되지 않거나 별도 패치가 필요할 수도 있습니다.

XE타운 화제의 모듈!!! 로딩속도 0.01초에 도전합니다!!!

 

전체화면 캐시

웹 페이지 전체를 캐시에 저장해 두었다가 다른 방문자들에게도 똑같이 뿌려 주는 기능입니다. 로그인하지 않은 방문자가 대부분인 블로그, 단순 홍보성 사이트 등에서 큰 효과를 얻을 수 있으나, 사용자에 따라 내용이 달라져야 하는 사이트라면 적용이 곤란할 수도 있습니다.

단순 정보성 홈페이지, 로그인하지 않고 눈팅만 하는 사용자가 많은 커뮤니티 사이트라면 페이지 로딩(TTFB) 속도가 10배 이상 빨라질 수도 있습니다. (속도 개선 효과는 사이트 구성에 따라 다릅니다.) 검색 로봇도 로그인을 하지 않으므로 빠르게 처리할 수 있고, 이에 따라 검색 순위가 높아지는 효과를 볼 수 있습니다.

 

게시판 캐시

게시판의 글 수가 많아지면 검색, 페이징, 목록 처리 등의 쿼리 소요시간이 전체 로딩 시간의 상당 부분을 차지하게 됩니다. 이 문제를 덜어 주는 페이징 캐시 기능은 대형 게시판을 사용하는 커뮤니티 사이트에 도움이 되며, 검색 결과 캐시는 DB 부하가 심한 검색 작업에 소요되는 시간을 절약해 줍니다.

동시접속자가 1만 명 이상인 커뮤니티 사이트에서 게시판 캐시 적용만으로 서버 부하가 50% 이상 줄어들고, 피크시간대 느려짐 현상이 완전히 해결된 사례가 있습니다.

 

위젯 캐시

캐시를 설정하지 않았거나 0분으로 설정한 위젯, 레이아웃에 때려박거나 소스를 이리저리 복사하는 바람에 캐시 적용이 곤란한 위젯에도 모두 캐시를 적용할 수 있는 기능입니다. 위젯이 많은 화면의 로딩 속도와 DB 부하를 크게 줄일 수 있으며, 로그인 사용자가 많은 사이트에서도 효과는 동일합니다.

캐시 기간을 길게 잡아 두더라도 새 글이 등록되면 즉시 갱신되고, 회원 권한에 따라 다른 내용을 표시해야 하는 위젯도 지원합니다. 캐시 갱신 주기나 회원 권한 때문에 위젯 캐시를 사용하지 못하고 계셨다면 이 기능을 반드시 사용해 보시기 바랍니다.

 

기타 편의기능

일부 게시판 스킨에서 검색 요청을 2번 반복하는 문제를 해결합니다.

일부 레이아웃과 스킨에서 페이지 전체를 CSS 또는 이미지로 다시 로딩하려고 시도하는 것을 차단합니다.

기본 URL 이외의 도메인으로 접속하거나 IP 주소로 직접 접속한 경우 기본 URL로 자동 리다이렉트하여 캐시 효율을 높입니다.

 

주의! 필독! 경고! 반드시 읽으세요! 안 읽으면 곰에게 잡아먹힙니다!

XE 1.8 미만, PHP 5.5 미만 버전은 지원하지 않습니다.

전체화면 캐시 사용시 작동하지 않거나 오작동하는 모듈이나 애드온이 있습니다. 이것은 해당 모듈이나 애드온에서 해결해야 하는 문제입니다. 전체화면 캐시는 한 방문자에게 표시했던 내용을 다른 방문자에게 그대로 뿌려줄 뿐입니다. 그 내용이 어떤 것인가는 XE 코어와 다른 모듈, 애드온들의 책임입니다.

로그인하지 않은 방문자마다 달라져야 하는 내용이나 기능이 조금이라도 있다면 전체화면 캐시를 사용하실 수 없습니다. 예외 액션이나 예외 쿠키 등으로 해결할 수 없다면 그 기능을 포기하거나 전체화면 캐시를 포기하거나 둘 중 하나를 선택하셔야 합니다. 둘 다 쓰도록 해달라는 종류의 문의는 (슈퍼 캐시 모듈의 명백한 버그가 아니라면) 일체 받지 않습니다.

안드로이드 푸시앱에서 전체화면 캐시 사용시 회원들의 알림 설정이 제대로 적용되지 않는다는 제보가 있으나, 이것이 슈퍼 캐시의 문제인지 푸시앱의 문제인지는 아직 밝혀지지 않았습니다. 푸시앱 사용자들은 로그인 상태를 유지하는 경우가 대부분이라 전체화면 캐시를 사용하더라도 효과가 별로 없으니, 가능하면 푸시앱에서는 전체화면 캐시를 사용하지 마시기 바랍니다.

슈퍼 캐시를 사용하면 XE 코어의 "오브젝트 캐시" 기능이 활성화됩니다. 이 기능이 켜져 있으면 오작동하는 모듈이나 애드온이 있을 수 있으니 주의하시기 바랍니다. 이런 오류는 슈퍼 캐시에서 해결할 수 없습니다. 오브젝트 캐시 기능 활성화에 따른 문제가 발생한다면 캐시 방식을 기본값(default)으로 변경하시기 바랍니다.

기본값(default)이나 파일 캐시(file)를 사용하면 files/cache/store 및 files/supercache 폴더 내에 다량의 캐시파일이 생성될 수 있으며, 캐시파일 재생성 클릭시 오류가 발생할 수 있으니 주의를 바랍니다. 가상서버나 단독서버에서는 memcached 사용을 권합니다. 웹호스팅이라도 추가 비용을 지불하면 memcached를 지원하는 업체가 있으니 최대한 활용하십시오.

슈펴 캐시는 성능 개선 효과가 큰 만큼 리스크도 높은 "하이 리스크, 하이 리턴" 성격의 모듈입니다. 다양한 옵션이 있으니 무조건 다 켜지 말고 주의와 경고 내용을 분명히 이해하시기 바랍니다. 경고가 붙어 있는 옵션은 모두 이유가 있습니다.

 

수정 내역

v1.3.7 : 오프셋 쿼리 지원 범위 확대, 전체화면 캐시 대상 선택과 관련된 버그 수정, 파일 캐시의 장단점에 대한 안내문 개선

v1.3.6 : XE 1.9, PHP 7.2 대응 (BaseObject 클래스 사용)

v1.3.5 : 아이템샵 모듈 사용시 위젯 캐시가 동작하지 않는 문제 수정, 검색 결과 캐시 예외모듈 설정이 동작하지 않는 문제 수정

v1.3.4 : 일부 환경에서 로그인 에러 메시지가 표시되지 않는 문제 수정

v1.3.3 : Memcached 사용시 캐시 비우기 오류 수정, 상자 위젯 디자인 깨짐 수정, 로그인 에러 발생시 캐시 처리 문제 수정

v1.3.2 : 위젯 캐시에서 제외할 모듈을 선택하는 기능 추가, 위젯 캐시와 호환되지 않는 위젯은 기본값을 OFF로 변경

v1.3.1 : 캐시 비우기 버튼 추가

v1.3.0 : 모바일 처리 및 푸시앱 호환성 개선

v1.2.0 : 위젯 캐시 기능 추가

v1.1.0 : 자체 캐시 드라이버를 내장하여 기본값 또는 파일 캐시 사용시 성능 및 안정성을 개선

v1.0.0 : 최초 버전

포럼 0

로그인 후 작성할 수 있습니다.