· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Zend_Optimizer-KLDP

<!doctype linuxdoc system>

<article>

<title>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>




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0175 sec