1. eaccelerator
eaccelerator는 PHP가속, 최적화, 동적 컨텐츠 캐시입니다.
(PHP Op-Code Caching) 공유 메모리에 컴파일된 상태에서 캐싱으로 PHP 스크립트의 성능을 향상시킵니다. 실행 속도를 높여 스크립트를 최적화하며 tomcat 과 같은 was 에서는 jsp파일을 데몬이 서비스를 올리면서 메모리 상에 올리는것과 같은 역할을 합니다.
한번 접속된 페이지는 일정시간 메모리에 올리기에 동일 사이트 및 페이지에 접속했을 때 디스크 I/O 가 아닌 메모리 I/O가 일어남으로 빠르게 페이지를 보여줄수 있습니다.
2. eaccelerator 설치
설치환경 CentOS 5.8, PHP 5.2.17, Apache 2.2.17
다운로드
cd /usr/local/src
wget http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.tar.bz2/download
다운받은 파일 압축 풀기
tar xvfj eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
/usr/local/php/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
make
make install
make install을 하면 아래와 같이 eacclerator.so 파일의 위치를 알려줍니다.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20060613/
설치 완료 후 캐싱된 파일이 저장될 디렉토리 지정(apache 실행데몬의 소유자와 같게 함)
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator
chown nobody.nobody /tmp/eaccelerator
php.ini 편집(추가)
vi /usr/local/apache/conf/php.ini
파일 맨 밑부분에 아래 내용을 추가 시켜줍니다.
[eaccelerator]
extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-20060613
extension=”eaccelerator.so”
eaccelerator.shm_size=”0″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.log_file = “/usr/local/apache/logs/eaccelerator_log”
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.allowed_admin_path = “/usr/local/apache/htdocs/control.php”
저장 및 아파치 재시작 후 확인
/usr/local/apache/bin/apachectl -ver
eaccelerator_1.png
3. 모니터링 페이지 생성
eaccelerator.allowed_admin_path 설정한 디렉토리에 control.php 파일을 복사합니다
control.php 파일은 압축푼 디렉토리안에 있습니다
cp /usr/local/src/eaccelerator-0.9.6.1/control.php /usr/local/apache/htdocs/
control.php 파일을 편집
$auth = false; —> false 을 true 로 수정
$user = “admin”; —-> 사용자 아이디 변경
$pw = “eaccelerator”; —-> 사용자 패스워드 변경
접속 : http://웹사이트주소 또는 IP/control.php
eaccelerator_2.png
4. 참고사항
[eaccelerator]
extension_dir=/usr/local/php/lib/php/extensions/no-debug-zts-20060613 // 모듈위치
extension=”eaccelerator.so”
eaccelerator.shm_size=”0″ // eaccelerator가 사용할 공유 메모리량. 단위 MBytes. 0을 지정하면 기본값 16MBytes. default = 0
eaccelerator.cache_dir=”/tmp/eaccelerator” // 캐쉬 디렉토리
eaccelerator.enable=”1″ // eaccelerator 사용 여부
eaccelerator.optimizer=”1″ // 최적화 여부
eaccelerator.log_file = “/usr/local/apache/logs/eaccelerator_log” // 로그 파일 위치
eaccelerator.check_mtime=”1″ // php 파일 변경 시간 체크 여부
eaccelerator.debug=”0″
eaccelerator.filter=”” // 캐싱할 php 파일을 지정한다. *.php *.html *.php3 처럼 지정할 수있으며 “” 로 비워두면 모든 php 파일이 캐싱된다
eaccelerator.shm_max=”0″ // 자체 함수인 eaccelerator_put() 를 할당할 메모리 크기 (예. 10240, 10K, 1M)
eaccelerator.shm_ttl=”0″ // 메모리 공간이 부족할 경우 지정한 시간동안 엑세스가 없다면 스크립트 제거. 0은 삭제 안함
eaccelerator.shm_prune_period=”0″ // 지정한 초보다 생성이 오래된 스크립트 제거. 0은 삭제 안함
eaccelerator.shm_only=”0″ // 컴파일된 스크립트를 디스크에 캐싱할 것인지의 여부 판단
eaccelerator.compress=”1″ // 캐쉬된 내용 압축 여부
eaccelerator.compress_level=”9″ // 압축 레벨 지정. 9는 최대 압축
eaccelerator.allowed_admin_path = “” // 모니터링 파일이 있는 경로
0 개의 댓글