XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | BNU |
---|---|
출처URL | http://www.xpressengine.com/userForum/21958098 |
카운터와 조회 수를 올리는 기능이 많은 부하를 일으키죠.
크롤러(검색 엔진이나 문서를 긁어가는...)의 접근도 모두 카운터에 기록되고 글의 조회 수를 올리게 되므로 관련 쿼리에서 지연이나 부하가 발생하게 되죠.
아래와 같이 파일을 생성하여 지연되는 쿼리를 추출할 수 있습니다.
<?php define('__LOG_SLOW_QUERY__', 0.5);
위 코드를 config/config.user.inc.php 파일로 만들어두면 'files/_db_slow_query.php' 파일에 기록됩니다.
위 코드 중 '0.5'는 초 단위의 시간입니다(1은 1초). 0.5초를 넘는 쿼리가 기록됩니다.
어느 정도 로그가 쌓인 후 지연되는 쿼리나 자주 등장하는 것을 최적화 과정을 거치면 됩니다.
물론, 이 로그를 공개하여 도움을 청하거나 제작의뢰를 통해 유상으로 도움을 받는 방법으로 하셔야겠죠.
(이 파일에는 암호화된 패스워드나 IP 등 개인정보가 포함되므로 주의하셔야 하고요)
카운터 애드온을 비활성화 하신 후 상태를 살펴보시고 아래와 같이 크롤러의 접근은 글의 조회수를 올리지 않도록 할 수 있습니다.
modules/document/document.controller.php
function updateReadedCount(&$oDocument) { if(isCrawler()) return; // 이 코드를 삽입
이 방법은 크롤러 접근이 많을 때 유용합니다.
이런 방법 외에도 Object Cache를 사용하거나 위젯 캐시 설정 및 사이트 구성에 따라 방법은 다양합니다.