Apache + Zend Optimizer 설치 정원영 suni00@kernel.pe.kr v0.2, 2000년 3월 16일 Apache 웹서버에 Zend Optimizer를 모듈로 컴파일하고 기존의 PHP3, Zend와의 속도를 테스트 해보았다. ______________________________________________________________________ 목차 1. Zend Optimizer란? 2. 설치환경 3. 컴파일 하기전 4. Apache + Zend Optimizer 컴파일 5. 테스트 하기 ______________________________________________________________________ 1. Zend Optimizer란? Zend Optimizer는 표준 Zend 런 타임 컴파일러에 의해 생성되는 중간 코드를 조사하고,더 빠른 실행으로 그것을 최적화했다고 한다. 기존의 PHP3와 Zend에서 보여주는 속도만큼 더 빨라졌다는걸 체감 할수 있었다. 2. 설치환경 설치환경은 glibc 2.1 이상, 아파치 1.3이상의 버전이며 각각의 설치버전은 다음과 같다. o Apache : 1.3.12 o Zend : Zend beta4 p1 + Zend Optimizer 다음 사이트에서 구한다. Zend beta4 p1을 설치했을때 한글이 깨지는 현상이 있는데 이는 /usr/local/php-4.0b4pl1/sapi/apache/mod_php4.c 파일을 열어서 text/html;charset=iso-8859-1를 text/html;charset=EUC_KR로 바꿔주고 컴파일해야 한다. 3. 컴파일 하기전 Zend Optimizer의 tar를 풀고 다음과 같은 작업을 한다. o tar 풀어서 나온 ZendOptimizer.so를 /usr/local/Zend/lib 디렉토리를 만들어서 그 안에 넣는다. 4. Apache + Zend Optimizer 컴파일 아파치와 Zend 모두 /usr/local 디렉토리에 풀었으며 아파치의 소스 디렉토리는 /usr/local/apache_1.3.12 이며 Zend의 소스 디렉토리는 /usr/local/php-4.0b4pl1 이다. 모든건 root 계정으로 작업한다. # cd /usr/local/apache_1.3.12 (아파치 소스 디렉토리로 이동) # ./configure --prefix=/etc/httpd (컴파일후 생성 파일의 경로는 /etc/httpd 이다) # cd /usr/local/php-4.0b4pl1 (Zend 소스 디렉토리로 이동) # ./configure --with-apache=/usr/local/apache_1.3.12 --disable-debug (Optimizer를 위한 옵션) (이외 다른 추가 옵션들도 한줄에 이어 써야한다) # make # make install (Zend 설치) # cp php.ini-dist /usr/local/lib/php.ini (php 옵션들) # cd /usr/local/apache_1.3.12 (아파치 디렉토리로 이동) # ./configure --prefix=/etc/httpd --activate-module=src/modules/php4/libphp4.a (Zend를 모듈로 포함시킴, 역시 한줄로 이어 써야한다) # make # make install (아파치 설치) 설치후 아파치 환경설정 파일인 /etc/httpd/conf/httpd.conf 파일을 열어 다음과 같이 되어있는지 확인하고 주석을 풀어준다. AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 다음으로 /usr/local/lib/php.ini 파일에 다음 두줄을 추가한다.(Optimizer에서 추가된 부분) zend_optimizer.optimization_level=1 zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" 이제 아파치 데몬을 띄운다. /etc/httpd/bin/apachectl start 5. 테스트 하기 여기선 Zend 가 Optimizer 되었는지 이전의 버전들과의 속도차이는 어떤지 다음과 같이 테스트 해보자. o phpinfo()로 확인하기 위와같이 했을때 다음과 같은 정보가 나오면 성공이다. This program makes use of the Zend scripting language engine: Zend Engine v0.90, Copyright (c) 1998, 1999 Andi Gutmans, Zeev Suraski with Optimizer v0.95, Copyright (c) 1998-2000, by Zend Technologies Ltd. o 속도 테스트 자신의 시스템에서 다음과 같은 프로그래밍으로 Optimizer하기전과 비교해 보라. 참고로 셀러론 400a(128KB cache)에서 Zend beta4 p1을 했을때 18초가 나왔는데 Optimizer를 하고난후 7초가 나왔다. --------------------------------------------------------------------- 폐인 http://kernel.pe.kr/~suni00