Apache + Zend Optimizer 설치 <author>정원영 <htmlurl url="mailto:suni00@kernel.pe.kr" name="suni00@kernel.pe.kr"> <date>v0.2, 2000년 3월 16일 <abstract> Apache 웹서버에 Zend Optimizer를 모듈로 컴파일하고 기존의 PHP3, Zend와의 속도를 테스트 해보았다. </abstract> <toc> <sect> Zend Optimizer란?<p> Zend Optimizer는 표준 Zend 런 타임 컴파일러에 의해 생성되는 중간 코드를 조사하고,더 빠른 실행으로 그것을 최적화했다고 한다. 기존의 PHP3와 Zend에서 보여주는 속도만큼 더 빨라졌다는걸 체감 할수 있었다. <sect> 설치환경<p> 설치환경은 glibc 2.1 이상, 아파치 1.3이상의 버전이며 각각의 설치버전은 다음과 같다. <itemize> <item> Apache : 1.3.12 <item> Zend : Zend beta4 p1 + Zend Optimizer </itemize> 다음 사이트에서 구한다. <url url="http://www.apache.org"> <url url="http://www.zend.com"> <url url="http://www.php.net"> <bf> Zend beta4 p1을 설치했을때 한글이 깨지는 현상이 있는데 이는 /usr/local/php-4.0b4pl1/sapi/apache/mod_php4.c 파일을 열어서 text/html;charset=iso-8859-1를 text/html;charset=EUC_KR로 바꿔주고 컴파일해야 한다. </bf> <sect> 컴파일 하기전<p> Zend Optimizer의 tar를 풀고 다음과 같은 작업을 한다. <itemize> <item>tar 풀어서 나온 ZendOptimizer.so를 /usr/local/Zend/lib 디렉토리를 만들어서 그 안에 넣는다. </itemize> <sect> Apache + Zend Optimizer 컴파일<p> 아파치와 Zend 모두 /usr/local 디렉토리에 풀었으며 아파치의 소스 디렉토리는 /usr/local/apache_1.3.12 이며 Zend의 소스 디렉토리는 /usr/local/php-4.0b4pl1 이다. 모든건 root 계정으로 작업한다. <verb> # 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 (아파치 설치) </verb> 설치후 아파치 환경설정 파일인 /etc/httpd/conf/httpd.conf 파일을 열어 다음과 같이 되어있는지 확인하고 주석을 풀어준다. <verb> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </verb> 다음으로 /usr/local/lib/php.ini 파일에 다음 두줄을 추가한다.(Optimizer에서 추가된 부분) <verb> zend_optimizer.optimization_level=1 zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" </verb> 이제 아파치 데몬을 띄운다. <verb> /etc/httpd/bin/apachectl start </verb> <sect> 테스트 하기<p> 여기선 Zend 가 Optimizer 되었는지 이전의 버전들과의 속도차이는 어떤지 다음과 같이 테스트 해보자. <itemize> <item> phpinfo()로 확인하기<p> <verb> <? phpinfo(); ?> </verb> 위와같이 했을때 다음과 같은 정보가 나오면 성공이다. <verb> 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. </verb> <item> 속도 테스트<p> 자신의 시스템에서 다음과 같은 프로그래밍으로 Optimizer하기전과 비교해 보라. <verb> <? $start = time(); for ( $i = 1; $i <= 5000000; $i++ ); $t_time = time() - $start; echo "Time : $t_time"; ?> </verb> 참고로 셀러론 400a(128KB cache)에서 Zend beta4 p1을 했을때 18초가 나왔는데 Optimizer를 하고난후 7초가 나왔다. </itemize> --------------------------------------------------------------------- <htmlurl url="mailto:suni00@kernel.pe.kr" name="폐인"> <htmlurl url="http://kernel.pe.kr/~suni00" name="http://kernel.pe.kr/~suni00"> </article>