맛집 여행 캠핑 일상 생활

아파치 Deflate Expires 설정으로 트래픽 줄이기 본문

LAMP

아파치 Deflate Expires 설정으로 트래픽 줄이기

영은파더♥ 2016. 2. 5. 17:22

아파치 Deflate Expires 설정으로 트래픽 줄이기


아파치 모듈중에 mod_deflate 가 있다. 컨텐츠를 압축해서 전송해주는 방법이다.

압축해서 전송하면 브라우저가 알아서 압축을 풀어서 보는 방식이다.


● mod_deflate 모듈 설정

<IfModule mod_deflate.c>

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml


DeflateCompressionLevel 1


# Browser specific settings

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

BrowserMatch \bOpera !no-gzip


SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

Header append Vary User-Agent env=!dont-vary

</IfModule>

DeflateCompressionLevel 은 압축율인데 1 ~ 9 사이의 값으로 설정이 가능한데 숫자가 높을수록 cpu 사용량이 올라간다.

1 정도만 설정해도 효과는 충분할 것 같다.


추가로 mod_expires 라는 모듈도 있는데 이는 브라우저의 캐시 기능을 활용하는 방식인데 이 또한 설정을 해 놓으면 트래픽을 줄일 수가 있다.


● mod_expires 모듈 설정

<IfModule mod_expires.c>

    ExpiresActive On

    ExpiresByType image/gif "access plus 1 days"

    ExpiresByType image/jpeg "access plus 1 days"

    ExpiresByType image/png "access plus 1 days"

    ExpiresByType text/css "access plus 1 days"

    ExpiresByType image/gif "modification plus 1 days"

    ExpiresByType image/jpeg "modification plus 1 days"

    ExpiresByType image/png "modification plus 1 days"

    ExpiresByType text/css "modification plus 1 days"

</IfModule>

캐시 만기 시간 설정

1. access plus (접속 후 만기 시간)

1년 후 : 5 years

1달 후 : 1 months

2주 후 : 2 weeks

10일 수 : 10 days

5분 후 : 5 minutes

30초 후 : 30 seconds

2. modifications plus (서버의 파일 수정 시간 기준)

브라우저에 해당 파일을 캐시에 저장한 후에 다음 접속시 만료시간 전이라면 브라우저 캐시에서 데이터를 가져오게 되므로 서버에 트래픽이 발생하지 않는 이점이 있다.

한 가지 흠이 있다면 서버에 이미지가 수정되어 업로드 한 경우에 즉각적으로 변경된 이미지를 볼 수 없다는 점이 아쉽다.


'LAMP' 카테고리의 다른 글

PHP String 과 관련된 함수들  (0) 2016.02.15
아파치 RLimitCPU RLimitMEM RLimitNPROC  (0) 2016.02.11
아파치 mod_cache 설정  (0) 2016.02.05
리눅스 WebDAV 설정하기  (0) 2016.02.05
리눅스 IPTABLES 에 포트 추가하기  (0) 2016.02.05
Trackback : | Comments :