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


ID
Password
Join
Money will say more in one moment than the most eloquent lover can in years.


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.0069 sec