· 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


ID
Password
Join
You have the power to influence all with whom you come in contact.


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