소중한 나의 보물들/LinkStation

LS2에 APC 적용하기

Ji-seong 2008. 2. 22. 13:23

새벽늑대님께서 APC 설치법을 올리셨길래.. LS2에도 적용해봤습니다.

저는 새벽늑대님보다 더 불친절하니 친절한 주석은 없습니다.

제 환경은 apache 1.34 php 5.20 이고, apt-get install 로 설치한 것입니다.

먼저 필요한 APC를 다운 받습니다.

http://pecl.php.net/package/APC


APC를 설치하기에 필요한 파일을 확인 합니다.

whereis phpize
whereis php-config
whereis apxs
위의 세 파일이 있어야 DSO 모드로 apc를 설치할 수 있습니다. apache, php를 소스로 설치했다면 그에 맞게 하시면 될겁니다.

phpize, php-config는 php5-dev에 들어있습니다. php4 버전도 비슷할 겁니다. apxs는  apache-dev에 있습니다. 위의 파일이 없다면 apt-get install php5-dev, apache-dev로 설치하세요.


이제 다운받은 APC의 압축을 해제하고 설치합니다. 설치 과정은 다음과 같습니다.

tar xzvf APC-3.0.16.tgz

cd APC-3.0.16
phpize
./configure --enable-apc --enable-apc-mmap -with-apxs=/usr/bin/apxs --with-php-config=/usr/bin/php-config
make
make install

apc.so가 /usr/lib/php5/20060613+lfs/ 에 복사되었는지 확인합니다. php4 버전이면 위치가 틀릴것입니다.

/etc/php5/conf.d/apc.ini 파일을 다음과 같이 작성합니다.

extension=apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=128
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1


 

/etc/init.d/apache restart 로 재시동합니다.

phpinfo에 apc 항목이 있으면 성공입니다.

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

설치후 ab 테스트

제로보드 3 버전에 올린 글을 가지고 테스트. html 크기는 8403 bytes 입니다.

간단히 설명하면 적용시 100번 보는데 10초 미적용시 100번 보는데 37초 정도 걸렸다는 겁니다.


설치후 적용시

Concurrency Level:      1
Time taken for tests:   9.990952 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      876200 bytes
HTML transferred:       840300 bytes
Requests per second:    10.01 [#/sec] (mean)


설치후 미적용시

Concurrency Level:      1
Time taken for tests:   37.344788 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      876200 bytes
HTML transferred:       840300 bytes
Requests per second:    2.68 [#/sec] (mean)

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

php4 버전의 경우 configure 전에

export CPPFLAGS="-I/usr/include/apache-1.3 -DAPC_PHP4_STAT" 를 하는 것이 최적화를 위해서 더 좋다는데 저는 php5를 쓰므로 확인은 해보지 않았습니다. 설치에 관한 다른 사항은 INSTALL 파일을 참조하세요.