본문 바로가기
오라클/WebServer

[OHS] Apache 2.4 gzip Compression 설정

by sangyeon 2021. 8. 4.
728x90

* gzip compression을 하는 이유

> 웹서버의 정적 컨텐츠 중에 굉장히 사이즈가 큰 경우가 있다. css, javascript 등..

해당 리소스들을 요청시 불러올 때, 상당한 overhead가 소요된다.

심하면 지연 현상까지 유발 할 수 있다.

그렇기 때문에 웹서버 단에서 정적 컨텐츠를 gzip으로 압축하여 컨텐츠들의 사이즈를 1/10로 줄여 전달하면

훨씬 더 성능을 빠르게 향상시킬 수 있다.

 

* gzip 관련 자세한 설명이 있는 url

그러나 Apache 2.4 / OHS 12c에서 gzip 설정시 오라클 공식문서 확인해보면 아래와 같은 이슈가 있음

-Oracle HTTP Server 12c fails to start with "Invalid command 'AddOutputFilterByType'" error (Doc ID 2146719.1)

 

아래와 같이 설정해주면 정상적으로 설정한 type의 리소스들은 웹서버에서 gzip처리함. (성능향상)

LoadModule filter_module "${PRODUCT_HOME}/modules/mod_filter.so"
LoadModule deflate_module "${PRODUCT_HOME}/modules/mod_deflate.so"


    <IfModule mod_deflate.c>
          SetOutputFilter DEFLATE
          AddOutputFilterByType DEFLATE text/html
          AddOutputFilterByType DEFLATE text/xml
          AddOutputFilterByType DEFLATE text/css
          AddOutputFilterByType DEFLATE application/javascript
          AddOutputFilterByType DEFLATE application/xml
          AddOutputFilterByType DEFLATE application/x-java-script
          AddOutputFilterByType DEFLATE text/plain
    </IfModule>

-> 그러나 중요한건 위와 같이 설정해주고, 

정작 WEB-WAS 연동 설정에서 전부 WAS로 처리하게끔 설정해버리면?

아무 짝에 쓸모없는 설정이다.

 

그렇기 때문에 위와 같이 웹서버의 성능향상 설정을 할 경우에, 정적/동적 컨텐츠를 WEB-WAS에서 각각 나눠서 처리하게끔 잘 설정할 필요가 있다.

 

728x90