Apach 튜닝


1)선택적 로그 기록

SetEnvIf <항목> <패턴> <환경 변수> : 환경에서 패턴이 발견 되면 환경 변수를 설정

CustomLog <로그 파일> <로그 포맷 타입> [환경 변수] : 환경 변수가 있을 경우, 환경 변수를 만족하는 경우에 기록

LogFormat <포맷 문자열> <포맷 이름> : 포맷 문자열 변수는 아파치 로그 관련 매뉴얼 참조


ex)  SetEnvIf Request_URI "\.css$" dontlog uri_image

CustomLog logs/access_log common env=!dontlog

LogFormat "%h %I %u %t \"%r\" %>s %b" common


2) 캐시 기능

CacheEnable : 캐시 작동 방식과 위치

MCacheSize : 캐시에 사용할 메모리 크기(단위 kb)

MCacheMaxObjectCount : 메모리에 저장할 최대 개수

MCacheMinObjectSize : 캐시할 객체 1개의 최소 크기 제한(단위 B)

MCacheMaxObjectSize : 캐시할 객체 1개의 최대 크기 제한(단위 B)

MCacheMaxStreamingBuffer : content-length를 모르는 스트림인 경우 버퍼에 저장할 길이(단위 B)


ex) 캐시 사용을 위한 Config

#LoadModule cache_module modules/mod_cache.so

#LoadModule mem_cache_module modules/mod_mem_cache.so

<IfModule mod_cache.c>

<IfModule mod_mem_cache.c>

CacheDefaultExpire 1800

CacheEnable mem /

MCacheSize 16384

MCacheMaxObjectCount 2048

MCacheMinObjectSize 10

MCacheMaxObjectSize 262144

#StreamingBuffer 512KB

MCacheMaxStreamingBuffer 524288

</IfModule>

</IfModule>


3) 문서 압축

mod_deflate


SetOutputFilter 필터 : 현재 블록에 필터를 적용

AddOutputFilter 필터 확장자 ... : 해당 확장자에 필터를 적용

AddOutputFilterByType 필터 MIME ... : MIME 타입으로 필터를 적용

RemoveOutputFilter 확장자 : 해당 확장자에는 필터를 적용하지 않음


DeflateCompressionLevel N : N은 1~9까지 지정 가능하며, 숫자가 클수록 압축률이 좋음.

DeflateFilterNote [type] [로그변수명] : 로그에 기록할 필터 정보를 설정


type 

Input : 압축하기 전의 크기

Output : 압축된 후의 크기

Ratio : 압축 비율의 백분위(=Output/Input*100)


ex)  DeflateCompressionLevel 1

<Directory "/usr/share/doc">

Option Indexes

AllowOverride None

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/plain

AddOutputFilter DEFLATE doc ppt xls

</Directory>


DeflateFilterNote Ratio deflate_ratio

LogFormat "%h %t \"%r\" %b (%{deflate_ratio}n)" deflate

CustomLog logs/access_log deflate


+ Recent posts