Apache HTTP Server Version 2.2
아파치 모듈 mod_mem_cache
설명: | URI를 키로 사용하여 내용을 캐쉬한다. |
---|---|
상태: | Experimental |
모듈명: | mem_cache_module |
소스파일: | mod_mem_cache.c |
요약
이 모듈을 사용하려면 mod_cache
가
필요하다. 이 모듈은 mod_cache
를
지원하며 메모리기반 저장관리자를 제공한다.
mod_mem_cache
는 파일기술자를 캐쉬에 저장하거나
객체를 힙 공간에 캐쉬하는 두가지 방식으로 동작한다.
mod_mem_cache
는 직접 서버가 생성한 페이지를
캐쉬하거나 ProxyPass
로
설정한 (역프록시(reverse proxy))
mod_proxy
의 뒷단 서버내용을 캐쉬할때 주로
사용한다.
내용은 URI를 키로 사용하여 캐쉬에 저장하고 가져온다. 접근을 제어하는 내용은 캐쉬에 저장하지 않는다.
MCacheMaxObjectCount 지시어
설명: | 캐쉬에 저장할 수 있는 최대 객체개수 |
---|---|
문법: | MCacheMaxObjectCount value |
기본값: | MCacheMaxObjectCount 1009 |
사용장소: | 주서버설정 |
상태: | Experimental |
모듈: | mod_mem_cache |
MCacheMaxObjectCount
지시어는
캐쉬할 수 있는 최대 객체개수를 설정한다. 이 값은 해쉬테이블을
만들때 사용한다. 새로운 객체를 캐쉬에 추가해야 하는데 최대
객체개수에 도달하였다면, 새로운 객체를 캐쉬할 수 있도록
다른 객체를 제거한다. MCacheRemovalAlgorithm
으로
지정한 알고리즘을 사용하여 제거할 객체를 선택한다.
예제
MCacheMaxObjectCount 13001
MCacheMaxObjectSize 지시어
설명: | 캐쉬에 저장할 문서의 최대 크기 (바이트 단위) |
---|---|
문법: | MCacheMaxObjectSize bytes |
기본값: | MCacheMaxObjectSize 10000 |
사용장소: | 주서버설정 |
상태: | Experimental |
모듈: | mod_mem_cache |
MCacheMaxObjectSize
지시어는 캐쉬에
저장할 문서의 최대 크기를 바이트 단위로 지정한다.
예제
MCacheMaxObjectSize 6400000
Note
MCacheMaxObjectSize
값은 MCacheMinObjectSize
지시어로 지정한 값보다 커야 한다.
MCacheMaxStreamingBuffer 지시어
설명: | 응답을 캐쉬안한다고 결정하기 전까지 메모리 버퍼에 저장할 스트림 응답의 최대 크기 |
---|---|
문법: | MCacheMaxStreamingBuffer size_in_bytes |
기본값: | MCacheMaxStreamingBuffer 100000과 MCacheMaxObjectSize
중에 작은 값 |
사용장소: | 주서버설정 |
상태: | Experimental |
모듈: | mod_mem_cache |
MCacheMaxStreamingBuffer
지시어는
응답이 너무 커서 캐쉬할 수 없을때까지 버퍼에 저장할 스트림
응답의 최대 바이트수를 설정한다. 스트림 응답(streamed response)은
전체 내용을 즉시 알 수 없고 Content-Length
도
모르는 응답이다. 프록시된 응답이나 CGI 스크립트의 출력이
스트림 응답에 속한다. 기본적으로 Content-Length
헤더가 없다면 스트림 응답을 캐쉬에 저장하지 않는다.
이유는 캐쉬에 저장하기에 너무 큰 응답의 일부를 버퍼에
저장하기위해 많은 메모리를 낭비하지 않기위해서이다.
MCacheMaxStreamingBuffer
지시어를
사용하면 Content-Length
가 없는 스트림 응답을
지정한 크기까지만 버퍼에 저장한다. 최대 크기를 넘어서면
버퍼 내용을 버리고 캐쉬하지 않는다.
주의:
MCacheMaxStreamingBuffer
에 0이
아닌 값을 설정하여도 클라이언트로 응답을 늦게 보내지 않는다.
mod_mem_cache
는 스트림 응답의 일부를
버퍼에 복사하자마자 클라이언트로 보내기위해 다음 출력필터로
보낸다.
# 스트림 응답을 64KB까지 캐쉬한다:
MCacheMaxStreamingBuffer 65536
MCacheMinObjectSize 지시어
설명: | 캐쉬에 저장할 문서의 최소 크기 (바이트 단위) |
---|---|
문법: | MCacheMinObjectSize bytes |
기본값: | MCacheMinObjectSize 0 |
사용장소: | 주서버설정 |
상태: | Experimental |
모듈: | mod_mem_cache |
MCacheMinObjectSize
지시어는 캐쉬에
저장할 문서의 최소 크기를 바이트 단위로 지정한다.
예제
MCacheMinObjectSize 10000
MCacheRemovalAlgorithm 지시어
설명: | 캐쉬에서 제거할 문서를 찾는 알고리즘 |
---|---|
문법: | MCacheRemovalAlgorithm LRU|GDSF |
기본값: | MCacheRemovalAlgorithm GDSF |
사용장소: | 주서버설정 |
상태: | Experimental |
모듈: | mod_mem_cache |
MCacheRemovalAlgorithm
지시어는
캐쉬에서 제거할 문서를 찾는 알고리즘을 지정한다.
LRU
(Least Recently Used)LRU
는 가장 오래동안 접근하지 않은 문서를 먼저 제거한다.GDSF
(GreadyDual-Size)GDSF
는 캐쉬 실패(cache miss) 비용과 문서의 크기를 가지고 캐쉬한 문서에 우선순위를 부여한다. 가장 우선순위가 낮은 문서를 먼저 제거한다.
예제
MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU
MCacheSize 지시어
설명: | 캐쉬에 사용할 최대 메모리량 (KByte 단위) |
---|---|
문법: | MCacheSize KBytes |
기본값: | MCacheSize 100 |
사용장소: | 주서버설정 |
상태: | Experimental |
모듈: | mod_mem_cache |
MCacheSize
지시어는 캐쉬에 사용할
최대 메모리량을 KByte 단위로 (1024 바이트 단위) 설정한다.
새로운 객체을 캐쉬에 추가해야 하는데 객체의 크기가 남은
메모리보다 크다면 새로운 객체을 캐쉬할 수 있을때까지 다른
객체를 제거한다. MCacheRemovalAlgorithm
으로
지정한 알고리즘을 사용하여 제거할 객체를 선택한다.
예제
MCacheSize 700000
주의
MCacheSize
값은 MCacheMaxObjectSize
지시어로 지정한 값보다 커야 한다.