Skip to content

2012.05.06 15:42

XE 속도 개선팁 모음

조회 수 8068 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

안녕하세요? 맨날 눈팅만 하다가 XE 속도 개선팁을 정리해서 모아봤습니다.


모두 제가 쓴 글이 아니고 여기 저기 글을 참조하여 모은 내용이니 혹시 저작권에 문제가 생기면 알려주세요. 자삭하겠습니다.

대부분 1.4.10 기준이나 1.5 버전에서도 자세히 찾아보시면 수정하실 수 있을 거라 생각됩니다.


하시기 전에 반드시 백업하시고 작업하시는 것 잊지 마시고요!!!!


1. Cache 잡기

검색을 해보니 페이지의 Cache를 단 1분 이라도 잡는게 안잡는 것보다 속도에 영향을 미친다는 내용이 많이 있었습니다. 혹시 사이트의 수정이 거의 없는일반 페이지의 경우에는 가능한한 길게(예를 들어 10080분~20160분) 잡으세요. 게시판처럼 변화가 많은 페이지의 경우 캐싱시간 설정에서 1분으로 지정해 주세요!



2. CSS, JS파일, gzip으로 한꺼번에 압축해서 전송하기

내용 참고: http://www.xpressengine.com/19979181 

요거 대박 팁입니다!! 속도 개선에 눈에 띄는 결과가 나옵니다....

 

1. http://code.google.com/p/minify/ 에서 minify 최신버전을 다운받습니다. 현재는 minify 2.1.5 버전입니다.


2. 압축해제 한후, min 폴더내의 config.php 파일을 에디터에서 불러오기 합니다.


3. 47번째쯤 라인의 //$min_cachePath = '/tmp'; 라는 부분을 $min_cachePath = './tmp'; 로 수정합니다.


4. min 폴더안에 tmp 라는 폴더를 새로 만들기합니다.


5. min 폴더를 FTP 로 서버의 루트디렉토리에 업로드합니다.


6. 서버에 업로드된 min 폴더안의 tmp 폴더의 퍼미션을 707 로 권한 변경합니다.


7. XE 설치폴더안의 .htaccess 파일을 에디터에서 불러오기합니다.


8. 아래의 2가지 경우중 해당되는 구문을 .htaccess 파일의 맨 아랫줄에 추가합니다.


XE 설치경로가 /xe/ 로 사용되는 경우

RewriteRule ^(.*\.(css|js))$ ../min/index.php?f=xe/$1 [L]


XE 설치경로가 루트디렉토리인 경우

RewriteRule ^(.*\.(css|js))$ /min/index.php?f=$1 [L]


9. 수정한 .htaccess 파일을 XE 폴더에 덮어쓰기 합니다.

 

제대로 설치됐는지 확인하시려면 사이트를 들어가서 트래픽을 발생시키셔서 tmp 폴더에 minify_xml ...로 시작하는 이상한 이름의 파일들이 생성되면 Okay!

 


3. XE에서 Gzip 사용하기

어떤 분이 쓰신 글인데, 원본글의 출처가 어디인지 찾을 수가 없어서 그냥 인용으로 합니다.


사이트가 넘 느려서 계속 고민하다가

gzip, defalte 압축을 하면 압축해서 text 문서가 왔다갔다 한다는 걸 듣고 이걸 적용해 볼려고

gooleing 했슴다.

근데 다 VPS 호스트 적용하는 거라 쉽지가 안더라구요.

근데 우리 XE 개발자님들 너무 감사해서 뽀뽀라도 해드리고 싶은 심정이네요.

XE 소스 안에 gzip적용할건지 Flag가 있더라구요.

고것만 true로 해주면 gzip OK!!

 

 

1. ./classes/display/DisplayHandler.class.php 파일을 에디터에서 불러오기 합니다.


2. 15번째줄에 var $gz_enabled = false;var $gz_enabled = true; 로 수정합니다.


3. 수정한 DisplayHandler.class.php 파일을 서버의 해당 경로에 덮어쓰기 합니다.

 

 

사이트가 갑자기 날아다니는 듯한 기분??!!

확실한 차이 느낍니다.

Http header확인해 보는 방법은

http://www.askapache.com/online-tools/http-headers-tool/

이 사이트의 target URL에 입력후 밑에 버튼 누르면 target url의 header 분석해서 보여줍니다.

Content-Encoding: gzip 이라고 보입니다.


4. zlib.output_compression 사용하기

예전에 어떤 분이 여기 사용팁란에 올리셨는데 자삭하셨더라고요. 그래서 인용으로 합니다.


xe는 웹페이지 로딩 속도를 빠르게하기위해 내부적으로 ob_gzhandler함수를 사용하고있다.
성능면에서 ob_gzhandler 은 별로 안좋으며 PHP 권장사항으로도 ob_gzhandler 대신 zlib.output_compression 사용할것을 권장하고있다.

zlib.output_compression 을 사용하는방법..

xe 1.4.5.10 기준..

xe/config/config.inc.php 100 line..

if(!defined('__OB_GZHANDLER_ENABLE__')) define('__OB_GZHANDLER_ENABLE__', 1); 제거후 그자리에 아래 코드 추가..

define('__OB_GZHANDLER_ENABLE__', 0);
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', 6);

xe/modules/file/file.controller.php 124 line..

function procFileDownload() { 다음행에 아래 코드 추가..

ini_set('zlib.output_compression', 'Off');

단 적용시 기존 파일은 백업하고 적용하시면 됩니다.


수정 소스가 있습니다. (방법)


1.4.5.10 버전 기준으로 했다고 하는데


제 홈피 1.5.0.7 버전에 적용해본결과 상당 외로 빠릅니다.


크롬,익스플로러8, 파이어폭스 등의 브라우저에서 확인 해본결과


생각 외로 빠릅니다.


하지만 제 주관적 느낌 입니다.


참고 > 웹 브라우저 로딩 속도 비교 사이트 http://whichloadsfaster.com/



5. 수정된 xml_handler.js 와 xml_js_filter.js 사용


참고: http://www.xpressengine.com/userForum/20681364
에 배워서 남준다님의 첫번째 댓글 내용과 첨부파일.

 

1. 아래 첨부된 xml_handler.zip 파일을 압축해제 합니다.

 

첨부파일 :  xml_handler.zip

 

2. xml_handler.js 파일과 xml_js_filter.js 파일을 XE 설치폴더내의 ./common/js/ 폴더 안에 덮어쓰기 합니다.


 

저의 경우 위 다섯가지 팁을 이용하여 좀 더 빠른 사이트가 되었습니다.

더 좋은 팁이 있으시면 여러분이 많이 공유해주시면 좋겠어요~!!!


* 보다 쉬운 이해와 적용을 위해 배워서 남준다님이 수정하신 글로 일부 내용 수정했습니다.


Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234