리눅스서버

PHP 성능향상을 위한 캐시모듈 설치 (Opcache+Memcache)

간단한 php 프로그램은 괜찮지만, 수십개의 php 파일들의 읽고 동작하는 큰 프로그램(XE 같은)을 사용하게 된다면 당연스럽게도 실행도가 느려지게 됩니다. php 실행속도는 곧 페이지 속도와 직결되는 문제입니다.


그럼 어떻게 하면 실행속도 빠르게 유지할 수 있을까요? 제일 좋은 방법은 서버사양을 올리는 방법입니다. RAM, CPU 등과 같은 서버자원을 올리면 실행속도 또한 빨라지게 될 것입니다. 하지만 한계도 있고, 가격도 만만치않습니다. 돈도 안들고, 효과적인 방법은 없을까요? 


있습니다. 바로 캐시모듈을 사용하는 방법입니다. Cache(캐시)는 미리 처리된 데이터를 저장하고 재사용하는 방법입니다. 이 방법을 사용하면 처리된 결과데이터가 메모리(빠른 저장장치)에 저장됩니다. 그러면 나중에 다시 사용할때는 별도의 실행과정을 거치지않고, 그냥 바로 메모리에 저장되어있는 결과데이터를 불러오기만 하면 됩니다. 즉, 중복되고, 쓸때없는 처리과정을 다시 하지않기때문에 속도가 상당히 빨라집니다.


여기서는 두가지 캐시모듈을 설치할 텐데요. Opcache와 Memcache 라는 것입니다. Opcache는 php 5.5부터 기본 모듈로 포함된 캐시모듈입니다. 이 모듈은 컴파일된 php를 캐시하여 php 실행을 빠르게 합니다. 그리고 Memcache는 php 뿐만 아니라 활용도 넓은 캐시 프로그램입니다. Memcache php 확장모듈을 설치하면 Memcache 연동을 위한 여러 함수들이 제공되는 데... 그 함수들을 활용하면 내부 데이터를 캐시할 수 있습니다.


Opcache 참조 : http://php.net/manual/en/book.opcache.php

Memcache PHP 참조 : http://php.net/manual/en/book.memcache.php



1. 설치

remi 저장소를 설치하면 yum을 통해 설치할 수 있습니다.


* Opcache 설치


yum install php-opcache



Memcache 설치

memcahe는 하나의 프로그램(데몬)이기때문에 memcahed 라는 데몬을 설치한 후 Memcache php 확장모듈을 설치해야 합니다.


yum install memcached

yum install php-memcache



memcached 서비스 활성화

memcached 이 재부팅시 시작할 수 있도록 서비스를 활성화시켜줍니다.


# systemctl enable memcached



2. 적용

Opcache와 Memcache 캐시모듈(PHP 확장모듈)이 적용될 수 있도록 php-fpm를 재시작 시킵니다.


# systemctl restart php-fpm



* memcached 서비스 시작

memcached 서비스 실행되어야 캐시를 할 수 있습니다.


# systemctl start memcached



3. 확인

php 확장모듈이 정상적으로 탑재되어있는 지 확인해봅시다. 먼저 php 파일 생성하여 아래내용을 넣어주세요


# vi info.php

<?php phpinfo();


웹브라우저로 해당 php 파일에 접근하면 php 여러정보들이 나오는 데.. [Ctrl]+[F] 즉, 검색기능을 이용해 Opcache, Memcache 관련내용을 찾아봅시다.

1.png

2.png

@ 해당 내용이 없을 경우 설치가 잘못되었거나 적용을 하지않은 경우입니다.

Atachment
첨부 2
?

서버에 요청 중입니다. 잠시만 기다려 주십시오...