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>
|
Money will say more in one moment than the most eloquent lover can in years. |











