php-accelerator

관련사이트 : http://www.php-accelerator.co.uk/

다운로드 : http://www.php-accelerator.co.uk/download.php

역시나 존칭은 생략합니다.

일단 기존의 zend optimizer보다 좋은점이 있어야
사용해볼 가치가 있지 않을까?
위사이트의 자료를 인용하면 상용 zend cache보다 약간 떨어지는 성능
(0.0005이하의 차이)으로 뛰어난 성능을 보인다고 한다.
성능과 benchmark자료는 아래링크를 참고하기 바란다.
http://www.php-accelerator.co.uk/performance.php

현재 지원되는 platforms
Linux, OpenBSD, FreeBSD, BSDi, and Solaris,
MacOS는 차기에 지원될 예정이라한다.WIN32 platform은 지원하지 않는다.
예전에 Enlightenment(E, Desktop Manager)가 windows와는 호환성이 없고
앞으로도 포팅할생각이 없다고 제작자가 당당히 못박은것이 생각난다.
(별 쓸데없는 내용이었습니다.-_-)

http://www.php-accelerator.co.uk/download.php 에서 php버전과 GLIB의 버전에 맞는
것을 받아서 설치를 한다.

rpm -qa | grep php(php를 rpm으로 설치했을때)
rpm -qa | grep glib으로 php와 glib의 버전을 확인한다.

다운받은 파일의 압축을 임시디렉토리에 풀고 phpa_accelator-1.x.so파일과
phpa_cache_admin을 임의의 디렉토리로 복사한다.(관리하기 편한위치로)

이제 http://www.php-accelerator.co.uk/activate.php 에 방문해서 activate key를 생성한다.
서버의 주소를 적으면 키값을 주는데 이값을 php.ini에
phpa.registration_key = "키값" (""는 제외)형식으로 적어준다.
무료지만 등록을 하는이유를 홈페이지에서는 얼마나 많은 사이트가 phpa를
사용하는지등의 통계에 사용한다고 한다.

키값을 얻었으면 php.ini에 phpa설정을 적어준다.. 물론 기존에 zend optimizer등의
기타 accelerator를 설치했다면 주석처리를 하고 작업하기 바란다.
동시에 사용도 불가능하다. 단 mod_gzip은 동시에 사용이 가능하다.
이서버도 두가지를 모두 사용하고있다.
mod_gzip에 관한글은 아래링크를 참고하기 바란다.
http://free4u.wo.tc/weblog/1098
아래내용은 이서버의 php.ini파일의 설정예제를 보여주는것이다.
주석처리(#)된것은 이미 기본값으로 설정이 되어있어 추가설정은 필요없다.

##################################################################
#file php.ini
#################
#php accelerator#
#################
phpa.registration_key = "키값" #(""제외)
zend_extension=/path/to/php_accelerator_1.x.x.so
phpa = on
; Enable or disable the builtin Accelerator code optimiser. Defaults to 'on'.
#phpa.tweaks = on

#File Cache
#----------
; Sets the file cache directory. Must be an absolute path.
; Defaults to /tmp.
#아래 캐쉬 디렉토리는 시스템설정에 따라 설정한다. 기본값은 /tmp이다.
#phpa.cache_dir = /var/shm
phpa.cache_dir = /tmp

; Sets the cache file permissions. Defaults to 400.
#phpa.file_perms = 400

; Specifies a list of file patterns to ignore as a comma separated list of
; complete or partial file paths.
; A file is ignored if the end of its path matches an item in the list
; e.g.

#phpa.ignore_files = "/index.php,/a/help.php"

; Specifies a list of partial file paths to ignore. Files below any of the
; path components are ignored.
; e.g.
#
#phpa.ignore_dirs = "/data/WWW/site1/,/cache/"

#SHM Cache
#---------
; Sets the shared memory cache size in megabytes.
; Integer values only. Defaults to 8MB.
#phpa.shm_size = 15

; Sets the shared memory key. Maybe specific in hex notation as below or as
; an integer.
; Defaults to 0xc0deb00
#phpa.shm_key = 0xc0deb00

; Sets the interval between checks of the shared memory cache for
; rebalancing.
; A purely numeric interval is in seconds, otherwise append one of 's', 'm',
; 'h', 'd' to specify a period in seconds, minutes, hours or days.
; e.g 10m is ten minutes, 3h is three hours.
; Defaults to 5 minutes

phpa.shm_stats_check_period = 20m
#################################################################

좀더 세부적인 설정이나 옵션등은 배포파일안의 문서를 읽어보면 쉽게 알수있을것이다.

#file phpinfo.php
<?
phpinfo();
?>

위의 내용을 phpinfo.php등으로 저장후 웹브라우져에서 접근가능한곳에 둔뒤
열어보면 설정내용을 볼수있다.
기존 zend optimizer의 버전이 나오는곳에 phpa의 버전정보가 나온다면 성공한것이다.
이제 기존의 accelator와 얼마나 차이가 나는지 확인해보기 바란다.
관련문서에 의하면 최초 아파치가 실행된 직후에는 가속효과가 떨어지니
일정정도의 엑세스후에 가속이 된다고 한다.

또다른 benchmark 자료는 아래링크를 참고하기 바란다.

관련 링크: http://www.php-accelerator.co.uk/

+ Recent posts