본문 바로가기

개발

[PHP] Zend Opcache 설치 및 사용


PHP Zend Opacache 설치 



Zend Opcache 는 PHP로 실행되는 데이터의 메모리 버퍼의 중복을 피해 PHP 소스 컴파일 속도의 향상, 이미 컴파일 된 코드에 대하여 버퍼에서 재사용하므로 서버 응답속도 및 부하를 줄일 수 있다.



즉, 미리 처리된 데이터를 저장하고 재사용하기 때문에 재사용 시 별도의 실행 과정을 거치지 않고 바로 메모리에 저장되어 있는 결과 데이터를 불러 오기 때문에 속도가 향상이 된다.



Zend Opcache 는 PHP5.5 이상에서 제공되지만 그 이하 버전에서는 아래와 같은 설치가 필요하다.

(PHP-5.4.6 환경에서 바라본 입장)




1. 모듈 다운로드


wget http://pecl.php.net/get/ZendOpcache




2.모듈 설치 


tar xvfz ZendOpcache

cd zendopcache-7.x.x
phpize

./configure --with-php-config=[php-config경로]

make

make install




3. php.ini 수정


zend_extension=[opcache경로]



; Zend Opacache 활성화 여부 결정
opcache.enable=1


; PHP CLI 버전에서 Zend Opcache 활성화 여부 결정
opcache.enable_cli=1


; Opcache 공유 메모리 저장소 사이즈
opcache.memory_consumption=128


; 메모리에서 interned 문자열을 위해 사용할 메모리량
opcache.interned_strings_buffer=8


; Opcache 해쉬 테이블에서 가질수 있는 키값의 최대값(200~100000 사이에 값만 가질 수 있음)
opcache.max_accelerated_files=4000


; 공유 메모리 저장소 할당을 위해서 변화된 것들에 대해 얼마나 자주 파일 타임 스탬프를 체크(초단위)할지 ( 0은 늘 검사)
opcache.revalidate_freq=60


; 활성화 시 accelerated code 에 대해서 사용되어짐
opcache.fast_shutdown=1


; 활성화 시 Opcache는 현재 작업디렉토리를 스크립트 키에 추가하고, 같은 이름을 가진 파일들 사이에 가능한 충돌을 제거한다.

; 비활성화 시 성능이 향상되지만, 존재하는 애플리케이션이 깨질 수 있음.

opcache.use_cwd=1


; 비활성화 시, Opcache 를 수동으로 리셋해주거나, 파일시스템이 변한것에 대해 효과를 얻기위해서는 웹서버를 재시작 해야함.

opcache.validate_timestamps=1


; 재시작이 스케줄 될때까지 "wasted" 최대 메모리 비율

opcache.max_wasted_percentage=5



4. 웹서버 재시작


5. php -v 로 확인


6. 끝! 이제 속도 확인



좀 빨라진 게 보이시나요 ? 




맨 위로