Media Log

제로보드를 쓰다가 XE로 업그레드하여 사용하고 있는데  처음 적응할 때에는 힘들었지만 이후에는 기능이나 사용성 등에서 만족하며 사용하고 있습니다. 하지만 XE의 최대 단점은 속도.... 이전 제로보드는 물론 그누보드, 킴스보드 등에 비해 속도가 너무 떨어집니다. 사용자가 많아지고 작성한 문서 수가 많아지다보면 속도가 느리다는 것을 깨닫게 됩니다.


XE 홈페이지를 보다보니 XE 속도를 빠르게 하는 팁이 올라와 있어 소개합니다.


http://www.xpressengine.com/tip/19979181


방법은 CSS나 JS 파일을 압축해서 보내는 것입니다.  압축해서 보내는만큼 전송할 데이터 크기가 줄어드니 트래픽이 줄고 그만큼 속도의 향상이 생깁니다.  실제 적용하고나니 속도 향상이 느낄 수 있을 정도로 일어납니다.



다음은 XE 홈페이지에 소개된 내용입니다.



제로보드 xe의 일반적인 페이지(게시판 등등)들은 모두 gzip로 압축되어 있는데
정작 더 신경써야할 css, js 파일들은 gzip가 적용이 안된상태로 쌩(?)으로 날리고 있더라구요..

css 파일들은 대게 5~10kb
js 파일들은 크면 40kb까지도 차지하는.. 따지고 보면 대용량인 파일들인데 그냥 날리기에는 트래픽이 아깝습니다.
물론 트래픽 뿐만 아니라 속도면에서도 체감할 수 잇을정도로 차이가 생기게 되죠.



gzip는 웹문서를 gzip로 압축해서 전송한 뒤에 클라이언트의 브라우저에서 압축을 풀어 웹페이지를 보여주는 방식입니다.
일반적으로 40kb짜리의 문서를 전송한다고 할 때 그냥 전송하면 트래픽을 40kb 까먹지만..
gzip로 전송할 경우 속도도 좀 빨라질뿐더러 좋은 압축률(60%~80%)을 자랑해서 40kb짜리를 8kb로 만들어서 보냅니다. 당연히 트래픽은 8kb만 까먹겠죠.
특히나 xe는 css, js 파일이 많던데..


일단

http://code.google.com/p/minify/
에 가셔서 minify 2.1.3을 다운받습니다. (베타가 있긴한데 중단된듯)
실행을 해보면 다른건 다 필요없고 min 폴더만 필요합니다.
min폴더의 config.php을 수정하면 되는데, $min_cachepath 를 찾아 캐쉬파일을 만들 폴더를 정합니다.
$min_cachepath = './cache' 로 하면 쉽겠죠.


업로드는 루트에 합니다.
ex) 제로보드가 public_html/xe/에 설치되어 있다고 가정할 때,,, public_html/min/
업로드 한 뒤에 min/cache/ 폴더를 만들어 퍼미션을 707로 줍니다.

xe폴더의 .htaccess를 열어
Rewrite Engine On 밑에

RewriteRule ^(.*\.(css|js))$ ../min/index.php?f=xe/$1 [L]
위와 같은 한줄을 삽입해줍니다
.


죄송합니다;;;
.htaccess를 열어서 RewriteEngine On 밑에 바로 삽입하면 주소/xe/모듈명/게시글번호

일 경우 css를 제대로 못불러와 에러(레이아웃이 깨짐)가 나네요;; .htaccess 맨 마지막에
RewriteRule ^(.*\.(css|js))$ ../min/index.php?f=xe/$1 [L]
삽입해주시면 감사하겠습니다.





그러면 이제부터 xe폴더내의 모든 css, js 파일들은 gzip로 압축해서 전송을 시작합니다.
gzip로 정상적으로 압축되어 전송되는지는
http://www.whatsmyip.org/http_compression/ http://site-perf.com/
에서 주소를 삽입해서 압축률을 확인할 수 있습니다.



다른분 사이트에 모듈을 수정해드리다가 트래픽이 너무 많이 먹길래 왜그러나 해서...

제가 XE를 사용하는게 아니라서...
루트에 XE폴더를 따로 만들지 않고.. 직접 풀어서 사용하시는 분들은 제가 어떻게 적용하는지는 잘 모르겠습니다.
RewriteRule ^(.*\.(css|js))$ /min/index.php?f=$1 [L]
라고 하면 되 것 같기도 한데....



ps. minify는 여러개의 css... 여러개의 js를 한꺼번에 모아서 전송하는 기능도 가지고 있습니다.
호출하는 css개수, js의 개수가 많으면 사이트가 느려지기 때문에 한개의 파일로 만들어서 전송하는 추세인데.. 사용하실 분은 코어를 수정해야 할 것 같아서 추천드리진 않습니당;




gzip.JPG
common/js/common.js의 파일은 원래 19.4KB였는데
적용한 뒤에  6.34kb로 압축하여 전송하는 것을 볼 수 있습니다.

사용할때마다 압축을 해서 전송해주는게 아니라 cache를 만들어서 보내기 때문에 서버에 부담도 적습니다 :)
파일이 바뀌면 cache도 다시 생성되구요.



  1. Favicon of http://www.osnews.kr BlogIcon OSNews sonamu at 2012.06.28 08:26 신고 [edit/del]

    Minify로 CSS/자바스크립트 전송량 줄이기 : http://pat.im/657
    자바스크립트 실시간 압축기 - Minify : http://firejune.com/1187?stag=JSMin
    란 글도 있습니다.

    Reply
  2. Favicon of http://olbbemegames.tistory.com BlogIcon ːː at 2014.01.12 22:53 신고 [edit/del]

    //$min_cachePath = 'c:\\WINDOWS\\Temp';
    //$min_cachePath = '/tmp';
    //$min_cachePath = preg_replace('/^\\d+;/', '', session_save_path());

    이 세가지중

    가장 하단에
    $min_cachepath = './cache'를 추가해야 하나요?
    아니면 저 셋을 다 지우고 $min_cachepath = './cache'를 추가해야하나요?..

    Reply

submit
비스타를 사용하다보면 특정 사이트가 아주 느리게 열리는 경우가 있습니다.  이전 XP 사용할 때는 그렇게 느리지 않았는데 비스타로 바꾸고나니 그 사이트가 어떨 때는 빠르게 열리나 어떨 때는 느리게, 심할 때는 아주 느리게 열리는 경우를 종종 경험했는데 대개 해당 사이트의 트래픽에 부하가 걸려 그런 것인줄 알았는데 다른 이유도 있었군요.

비스타에서는 RFC 1323을 완전히 지원하고 Windows  Scaling factor of 8을 지원하는데 해당 웹 사이트는 이를 지원하지 못하기 때문이라고 합니다.

이럴 때에는 도스 프롬프트를 관리자 모드로 실행하여 아래 명령을 실행하면 됩니다.

 netsh interface tcp set global autotuninglevel=highlyrestricted


자세한 내용은 MS 홈페이지 정보를 참고하십시오.
해당 사항에 대한 MS의 글입니다.

http://support.microsoft.com/kb/929868


submit
비스타를 사용하다보면 특정 사이트가 아주 느리게 열리는 경우가 있습니다.  이전 XP 사용할 때는 그렇게 느리지 않았는데 비스타로 바꾸고나니 그 사이트가 어떨 때는 빠르게 열리나 어떨 때는 느리게, 심할 때는 아주 느리게 열리는 경우를 종종 경험했는데 대개 해당 사이트의 트래픽에 부하가 걸려 그런 것인줄 알았는데 다른 이유도 있었군요.

비스타에서는 RFC 1323을 완전히 지원하고 Windows  Scaling factor of 8을 지원하는데 해당 웹 사이트는 이를 지원하지 못하기 때문이라고 합니다.

이럴 때에는 도스 프롬프트를 관리자 모드로 실행하여 아래 명령을 실행하면 됩니다.

 netsh interface tcp set global autotuninglevel=highlyrestricted


자세한 내용은 MS 홈페이지 정보를 참고하십시오.
해당 사항에 대한 MS의 글입니다.

http://support.microsoft.com/kb/929868


  1. 서기 at 2007.03.17 11:45 신고 [edit/del]

    노트북에 비스타를 깔았는데 노트북 업데이트사이트만 겁나게 느려져서 파폭으로 해봐도 똑같더군요..
    원인을 몰랐었는데 위처럼 하니 잘 되네요
    감사합니다.

    Reply
  2. Favicon of http://blaer.intodream.org BlogIcon blaer at 2007.04.12 10:04 신고 [edit/del]

    앗!!
    감사합니다..
    덕분에 문제를 해결해버렸네요.. ^^
    휴우.. 저것때문에 작업할때 다른 컴에 접속해서 하거나 했는데.. ㅋ

    Reply
  3. 엘리홍 at 2007.05.20 07:49 신고 [edit/del]

    와우! 정말 해결됐어요.
    속도 때문에 2GB 메모리를 오더했는데 어쩜 필요없었을지도 모르겠다는 후회가..

    Reply

submit

티스토리가 콜로즈드 베타에서 오픈 베타로 바뀌면서 테터툴즈 1.1로 업그레이드되었다. 이전 버전에 비해 기능면에서 많은 향상이 있어 좋아진반면 이로인하여 반대로 나빠진 것들도 있다.

특히 내가 느끼는 것은 속도와 안정성이다.

http://thinkfree.tistory.com/18에서 속도와 안정성에 대해 포스팅을하였는데 오늘 올블로그를 보다보니 테터툴즈가 곧 1.1.1로 업그레이드할 예정인가 보다. 지금 프리뷰 버전이 나와 테스트하고 있으니 테스트가 끝나면 테터툴즈에 적용되고,  얼마 후 티스토리에 적용이 되겠지.

테터툴즈 1.1.1 프리뷰 버전에 관해 올라온 글 : http://lunamoth.biz/2043

기분좋고 안심할 수 있게 티스토리를 쓸 수 있는 날이 빨리 왔으면 한다.




submit

티스토리가 콜로즈드 베타에서 오픈 베타로 바뀌면서 테터툴즈 1.1로 업그레이드되었다. 이전 버전에 비해 기능면에서 많은 향상이 있어 좋아진반면 이로인하여 반대로 나빠진 것들도 있다.

특히 내가 느끼는 것은 속도와 안정성이다.

http://thinkfree.tistory.com/18에서 속도와 안정성에 대해 포스팅을하였는데 오늘 올블로그를 보다보니 테터툴즈가 곧 1.1.1로 업그레이드할 예정인가 보다. 지금 프리뷰 버전이 나와 테스트하고 있으니 테스트가 끝나면 테터툴즈에 적용되고,  얼마 후 티스토리에 적용이 되겠지.

테터툴즈 1.1.1 프리뷰 버전에 관해 올라온 글 : http://lunamoth.biz/2043

기분좋고 안심할 수 있게 티스토리를 쓸 수 있는 날이 빨리 왔으면 한다.




submit

티스토리 툴바