Site icon 내일은 치킨집 CEO

xcache 설치

모든 컴퓨터의 병목현상은 IO가 주원인이다.

발전속도가 가장 더디고. cpu / gpu / ram 의 속도는 나날이 높아져 가지만 IO의 성능은 거의

제자리 이다.(용량만 늘고 있다. hdd -> ssd 의 진화는 혁명적이긴 했다.)

또한 쉽게 dirty 상태에 빠지는게 IO 이기 때문에 IO 튜닝은 서버의 전반적인 속도향상에 크게 기여한다.

 

APM 서버에서 IO사용을 비약적으로 줄이기 위해서는 캐슁을 하면 되겠다.

xcache , APC 혹은 php 5.5 이상 포함된 opcache 가 대안이라고 볼수 있는데 일반적으로 zend 와의 충돌 때문에

xcache 를 사용하는편이 좋다. APC 역시 충분히 좋았지만.

APC의 경우 메모리 사용량이 xcache 보다 높았다.

그리고 APC 의 경우 문제시 되는 웹프로그램 좀더 많았다.(cake, moodle, kims-board 등)

 

공식 홈페이지 http://xcache.lighttpd.net

1. 설치방법.

–with-php-config 는 php-config 파일의 위치를 지정한다  일반적어도 안넣어도 되는 옵션 ‘ㅅ’a 혹은 버전에 따라 위치 변경이 되어야 하겠다.

여기서 /usr/local 에 직접 설치를 한이유는 xcache 의 관리자 페이지인 Cacher 를 사용하시 위해서이다.

 

2. php.ini 설정추가.

추가 항목중 xcache.size, xcache.count 은 적절히 수정해 주어야 한다.

일반적으로 xcache.count 는 cpu 코어 갯수로 지정한다. xcache.size 는 캐셔 관리자에서 사용량을 체크하여 변경한다.

메모리는 일반적이면 32~64MB 정도면 충분하나 한개의 사이트를 위한 설정이 아니기 때문에 넉넉히 잡았다.

단하나의 사이트를 위해서라면 64M ~ 128M 으로 xcache.gc_interval, xcache.ttl 을 0으로 해서 쓰면 성능이 가장 좋겠다.

 

관리자 설정을 할때(xcache.admin.user, xcache.admin.pass) 패스워드 생성은 간단한 php 코드로 생성할 수 있다.

 

3. 그리고 마지막으로 웹에서 관리자 페이지 접속을 위해 httpd.conf 파일에 아래 코드를 추가 했다.

 

4. 트러블슈팅

1) xcache 는 apache prefork 에서만 동작한다.

 

2) xcache 모듈 로드후 정상적으로 로드가 되지 않는다면 ( 메세지 // xcache.so: cannot open shared object file: No such file or directory )

php.ini 에서 extension_dir=”./” 부분을 주석 처리하거나 php API 에 따른 디렉토리 를 지정해주면 된다.

php API 에 따른 익스텐션 디렉토리는 make install 를 하면 어디에 복사했는지 보여준다 ‘ㅅ’a

 

3) php 5.2 대버전은 php 컴파일시 버그로 NTS 모드로 설치가 되지 않으며 TS 모드로만 설치가 된다.

NTS모드가 아닐경우 php 5.2 에서 에러메세지 표현이 되지 않으나 설치 후 모듈로드를 했을때 아파치가

프로세스는 떠있어 도 웹서버 기능을 제대로 수행하지 못했다.

아래 링크 글로 php 5.2 의 NTS 모드 설치를 진행후 해야 한다.

http://www.enteroa.com/2014/09/24/php-5-2-17-nts모드로-설치

 

4) xcache 는 기본적으로 최신버전이 하위버전의 모든 것을 대응하도록 포함 되므로 최신버전을 쓰는게 좋겠다.

다만 예외사항으로 php 4 는 1.2.2 대의 버전을 써야 하며 extension=xcache.so 가 아닌 zend_extension=xcache.so 으로 불러와야 한다.

아울러서 zend optimizer 보다 먼저 모듈로드가 되어야 하니 주의 하자.

또한 구버전의 관리자 디렉토리는 htdocs 안에 캐셔가 아닌 admin 폴더로 제공된다. httpd.conf 를 아래와 같이 수정하자.

php4 용 xcache 는 파일변경 여부 체크가 존재 하지 않기 때문에 캐쉬된 데이터가 지워지는 시간 동안

웹에서 호출시 신규로 올린 부분의 갱신이 늦어질수도 있다.

(이말은 완성된 홈페이지 가속 용도로만 쓰라는 소리이다 =ㅅ=a 수정된 파일의 즉시반영이 안됨)

 

Exit mobile version