포럼
ob_gzhandler 옵션에 관해서
2011.11.04 13:11
팁게에 글이 올라온 이후 이부분에 대해서 궁금해 하시는 분들이 많아서 써봅니다.
일단. 개념은
HTML 파일 용량이 90KB 다 라면
그것을 압축해서 17.6KB 쯤으로 보내서 속도향상을 꽤하는거지요.
* 압축 전송이 활성화된 상태 - 96.41KB 가 12.93 KB 가 되었습니다.
이러한 것을 구현하기 위한 방법은 크게 3가지가 있습니다.
1. HTTP 서버단에서 압축 전송 (nginx 의 zlib 옵션 등)
2. ob_gzhandler 를 사용
3. php 설정상에서 zlib.output_compression 을 적용
3 가지는 모두 비슷한 효과를 내기떄문에 셋중 하나만 사용하셔야합니다.
그중 가장 바람직한건 서버단에서의 압축 전송입니다.
php 실행파일 뿐만 아니라. static html, js, css 까지 압축전송을 하기떄문에 매우 효과적입니다.
(nginx 등은 압축 전송되는걸 따로 저장해두는 캐시도 잘되있구요.)
그게 아니면, 2번 보다는 3번을 사용하는걸 권장하고 있지만,
이것또한 애매한것이, 환경에 따라서 3번은 프로그램 상에서 컨트롤 할수 없거나, 이상해지는 경우가 많아집니다.
즉, 무조건 2->3으로 변경한다고 해서 능사는 아니라는거죠.
1번이 작동하고 있을수도 있구요.
그래서 해당 팁을 적용전에는 반드시 ob_gzhandler 옵션을 꺼두신뒤에,
파이어폭스나 크롬을 이용해서 압축 전송이 이루어지고 있는지 확인,
(만약 이루어지고 있다면 1번이 작동중)
그렇지 않을떄 팁을 적용해보시고,
직접 소요시간을 측정해보신뒤에 선택하시는게 좋을꺼라고 봅니다.
댓글 6
-
Community
2011.11.04 14:07
-
쏘프티
2011.11.05 01:37
말씀해 주신데로 테스트를 해보았더니 1번을 제 서버는 지원하는 듯 합니다.
한데, 궁금한 것이 압축률이 조금 다른데 그래도 1번만 적용하는 것이 좋은지요?
제 서버 값을 말씀드리면,
1번만 적용하였을 경우 : 25.49KB -> 7.28KB
1번 + 2번 적용하였을 경우 : 25.49KB -> 6.62KB
위처럼 1번+2번을 적용할 경우 압축률이 조금 더 좋아지는 것 같은데, 그래도 1번만 동작시키는 것이 좋은가요?
또한 1번 2번 상관없이 대부분의 js 파일 용량이 증가되는 현상을 보입니다.
예) jquery.js : 76.76KB -> 77.24KB
이것은 일반적인 현상인가요? 아님 제가 설정을 멀 잘못하여서 인가요?
도움 주셔서 감사합니다.
-
銀童
2011.11.05 11:42
정확히 말하면
1번과 2번의 압축률이 다르기 때문에 벌어지는 현상입니다.
2번으로 일단 압축된걸 1번으로 압축해봤자 의미가 없으므로, 그냥 전송하게 되고,
압축률의 향상을 위해서는 1번의 설정을 고치시는게 가장 좋지요.
압축을 하는데 소요되는 시간도 생각해보면 1번이 지원된다면, 1번을 무조건 사용하시는걸 강력 추천드립니다.
js 파일의 경우, 2번으로는 애초에 압축이 되질 않습니다.
1번으로만 압축이 되는데 1 번의 경우 javascript 를 압축하도록 서버에 설정이 되어있지 않는거 같네요.
확인해보시길 바랍니다.
-
쏘프티
2011.11.05 14:28
도움 감사드립니다 js 압축 설정 및 1번 설정은 어디서 수정하는 것입니까? 아파치 설정을 바꿔야 하나요? 아니면 php.ini 설정으로 가능한가요? 감사합니다 -
rjsoo
2011.11.05 07:37
본문 3번을 적용하였습니다. 홈페이지 로딩이 빠릅니다.
-
tobor
2011.11.05 10:38
압축이 되고 있는지 체크하는 방법은..
http://www.whatsmyip.org/http_compression/ 에서 체크하시면됩니다. 그런다음 제일 맘에 드는 방법을 적용하시면되겠죠^^;
은동님께서 추천해주신 nginx 설치 셋팅까지 스스로 했습니다. 그런데!! 아파치보다 엄청나게 빠른 성능을 보여주세요 감사합니다.