미디어위키 파일 캐시

From CS Wiki

미디어위키에선 선택적으로 렌더링 완료된 HTML 파일을 저장해두는 캐싱 메커니즘을 제공한다.

  • HTML 파일로 저장이 된 페이지는 DB I/O 없이 HTML을 바로 출력하므로 속도도 빠르고 부하도 줄어든다.
  • 단, 로그인된 유저는 개별 스킨 적용 등의 사유로 해당 메커니즘의 적용을 받지 않는다.

사용법[edit | edit source]

  • LocalSetting.php 에서 활성화시킬 수 있다. (기본적으로 꺼져있다.)
$wgUseFileCache = true; 
$wgFileCacheDirectory = "$IP/cache"; 
# $wgFileCacheDirectory 는 따로 설정하지 않으면 기본 폴더가 $IP/images/cache 로 설정된다.
  • 캐싱 폴더로 들어가보면 아래와 같이 문서들이 파일로 저장되어 있다.
-rw-r--r-- 1 apache apache 57421 Jan  7 01:58 cache/0/04/P%C3%A1gina_principal.html
-rw-r--r-- 1 apache apache 29608 Jan  4 16:37 cache/1/17/P%C3%A1gina_Riscada.html
-rw-r--r-- 1 apache apache 21592 Jan  3 07:27 cache/1/1c/P%C3%A1gina_Duplicada.html
-rw-r--r-- 1 apache apache 36088 Jan  7 02:03 cache/2/24/P%C3%A1gina_principal_alternativa.html
-rw-r--r-- 1 apache apache 44205 Jan  7 06:10 cache/a/a4/P%C3%A1gina_linkada.html
-rw-r--r-- 1 apache apache 24686 Jan  3 07:27 cache/d/db/P%C3%A1gina_Invertida.html
-rw-r--r-- 1 apache apache 17222 Jan  3 06:28 cache/f/f0/P%C3%A1gina_n%C3%A3o_encontrada.html

적용 범위[edit | edit source]

  • 로그인되지 않은 사용자들에게만 적용된다.
    • 테스트해 보면 로그인 안된 사용자들은 한번 들어간 페이지가 매우 빠르게 뜨지만, 로그인된 사용자는 여전히 느리게 뜬다. 로그인된 사용자들을 위해선 멤케시드 같은 다른 캐싱 메커니즘을 적용해줘야 한다.
  • 특수 페이지엔 적용되지 않는다.
  • 넘겨주기 페이지엔 적용되지 않는다.

캐시 압축[edit | edit source]

아래와 같은 설정으로 캐시를 압축해서 저장할 수 있다.

$wgUseGzip = true;
  • 이 설정을 하면 캐시는 .html.gz 확장자로 저장된다.
  • 트래픽을 줄일 수 있지만 속도는 좀 더 느리다.

트러블 슈팅[edit | edit source]

  • 캐시 파일이 생성되지 않는 경우, 설정한 캐시 폴더에 퍼미션이 없을 수 있다.
  • 문서의 제목이 너무 긴 경우 캐시 파일이 생성되지 않는다.

참고 문헌[edit | edit source]