페이지 로딩 속도 향상 하였습니다. - Memcached 설치 적용 -

title: 밀짚모자만키로군 2012.11.21 13:50:15

 Memcached 설치 적용하였습니다.

5. Memcached 캐시 사용하기

Memcached는 Memcached 서버와 PHP extension 두 가지를 설치하여야 합니다.

5.1. Memcached 설치 확인

아래 명령을 이용하여 memcached가 실행 중인지 확인합니다.

$ ps ax | grep memcached

31721 ? Ssl 0:01 memcached -u root -d

혹은 아래와 같이 포트 번호 11211로 접속이 되는지 확인합니다.

$ telnet localhost 11211

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

quit

Connection closed by foreign host.

5.2. Memcached 설치

Memcached 설치가 되어 있지 않다면 설치가 필요합니다. 아래 명령을 이용하여 설치합니다.

데비안/우분투

$ apt-get install memcached

레드햇/페도라

$ yum install memcahed

자세한 정보
Memcached에 대한 자세한 정보는 http://code.google.com/p/memcached/wiki/NewStart를 참고하세요.

5.3. Memcache extension 설치 확인

아래 내용을 담은 PHP 파일을 하나 작성하여 해당 페이지로 접속한 후 'memcache'로 검색해 memcahe extension이 설치되었는지 확인합니다.

<?php phpinfo(); ?>

 

5.4. Memcache extension 설치

Memcache extension은 PECL을 통해 손쉽게 설치할 수 있습니다. PHP 설치 디렉터리의 bin에서 아래 명령을 이용하여 설치합니다.

$ ./pecl install memcache

중간에 나오는 질문에 아무 것도 입력하지 않고 엔터를 쳐서 진행하면 됩니다.

Starting to download memcache-2.2.6.tar (Unknown size)

.....................................done: 170,496 bytes

11 source files, building

running: phpize

Configuring for:

PHP Api Version: 20090626

Zend Module Api No: 20090626

Zend Extension Api No: 220090626

Enable memcache session handler support? yes :

컴파일 과정이 지난 후 아래와 같은 설치 성공 메시지를 볼 수 있습니다.

Build process completed successfully

Installing 'PHP_설치_디렉터리/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'

install ok: channel://pecl.php.net/memcache-2.2.6

configuration option "php_ini" is not set to php.ini location

You should add "extension=memcache.so" to php.ini

이제 php.ini 파일을 열어 아래와 같이 extension을 추가한 후에 웹 서버를 재시작 해 줍니다.

extension=memcache.so

웹 서버 재시작 후에 다시 info 페이지로 접속하여 'memcache'가 있는지 확인합니다.

Info 페이지에서 memcache가 검색되지 않습니다.
extension에 memcache.so 파일의 절대 경로를 입력해 보세요. so 파일의 절대 경로는 pecl 설치 성공 메시지에서 확인할 수 있습니다.

5.5. XE 설정 파일 수정

XE_설치_디렉터리/files/config/db.config.php를 열어 아래 내용을 추가합니다.

$db_info->use_object_cache = 'memcache://localhost:11211';

$db_info->user_template_cache = 'memcache://localhost:11211';