일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- PHP-FPM
- 복현오거리
- SKT
- OpenWrt
- ConoHa
- iptime
- 보르비스초월
- 킹북이초월
- mysql
- 티스토리
- 리눅스
- Rocky
- proxmox
- KB증권
- Apache
- 시놀로지
- centos
- jQuery
- 알뜰폰
- 스톤에이지
- 아파치
- 자바스크립트
- KB국민카드
- php
- 가상서버호스팅
- 소비전력
- 램가스초월
- 라즈베리파이2
- 윈도우10
- 알리익스프레스
- Today
- Total
맛집 여행 캠핑 일상 생활
아파치 Deflate Expires 설정으로 트래픽 줄이기 본문
아파치 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 |