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

Apache + Zend Optimizer 설치

Apache + Zend Optimizer 설치

정원영 suni00@kernel.pe.kr

v0.2, 2000년 3월 16일
Apache 웹서버에 Zend Optimizer를 모듈로 컴파일하고 기존의 PHP3, Zend와의 속도를 테스트 해보았다.

1. Zend Optimizer란?

Zend Optimizer는 표준 Zend 런 타임 컴파일러에 의해 생성되는 중간 코드를 조사하고,더 빠른 실행으로 그것을 최적화했다고 한다. 기존의 PHP3와 Zend에서 보여주는 속도만큼 더 빨라졌다는걸 체감 할수 있었다.

2. 설치환경

설치환경은 glibc 2.1 이상, 아파치 1.3이상의 버전이며 각각의 설치버전은 다음과 같다.

  • Apache : 1.3.12
  • Zend : Zend beta4 p1 + Zend Optimizer

다음 사이트에서 구한다.

http://www.apache.org

http://www.zend.com

http://www.php.net

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를 풀고 다음과 같은 작업을 한다.

  • 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 되었는지 이전의 버전들과의 속도차이는 어떤지 다음과 같이 테스트 해보자.

  • phpinfo()로 확인하기

            <?
                    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.
    

  • 속도 테스트

    자신의 시스템에서 다음과 같은 프로그래밍으로 Optimizer하기전과 비교해 보라.

            <?
                    $start = time();
                    for ( $i = 1; $i <= 5000000; $i++ );
                    $t_time = time() - $start;
                    echo "Time : $t_time";
            ?>              
    
    참고로 셀러론 400a(128KB cache)에서 Zend beta4 p1을 했을때 18초가 나왔는데 Optimizer를 하고난후 7초가 나왔다.

---------------------------------------------------------------------

폐인

http://kernel.pe.kr/~suni00




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