ようこそゲストさん

chibilog

2009/04/15(水) PHPのアクセラレータを使ってみる

はてブ情報 はてブに登録 はてブ数 2009/04/15 9:02 パソコン

我が家では、技術系の情報だったり、ちょっとしたメモ書きだったりをWikiを使ってまとめています。Pukiwikiってゆー、PHPで書かれたやつを使っているのです。忘れっぽいので何かにメモしておかないと本当に忘れるので・・・それでこのPukiwikiなんだけど、高速化したいのでアクセラレータの導入をしてみましたよ。

とりあえず、APC ってやつと Xcache ってやつを試してみました。これらのアクセラレータは中間コードをキャッシュしてくれたり、最適化を行ってくれたりするものです。なのでこれらのアクセラレータを使っていない状態よりはパフォーマンスが向上するはずです。

試しに、アクセラレータ無し、Xcache、APC の3パターンでのパフォーマンス測定をしてみました。結果は以下の通り。

無しxcacheAPC
Requests per second6.16 [#/sec]9.15 [#/sec]9.29 [#/sec]
Time per request1624.546 [ms]1092.824 [ms]1076.336 [ms]
Transfer rate74.22 [Kbytes/sec]110.33 [Kbytes/sec]112.02 [Kbytes/sec]

計測はabコマンドを使った簡単なもの。

$ ab -n 1000 -c 10 http://192.168.0.100/pukiwiki/

簡単な計測ではあるけど、

  • アクセラレータがあるほうがパフォーマンスは向上している
  • XcacheとAPCの違いはこれだけだと分からない

ってことは把握した。とりあえず、我が家ではAPCを採用することに。ってことで、以下インストール手順のメモ。以下はUbuntuでの導入方法。先ずAPCのインストールに必要な物は以下。

  • apxs
  • phpize
  • pecl
  • autoconf
  • automake

apxs, phpize, pecl に関しては以下のようにaptitudeを使えば簡単にインストールできる。

apxsを使用できるように(apxs2)
$ sudo aptitude install apache2-dev

phpizeを使用できるように
$ sudo aptitude install php5-dev

peclを使用できるように
$ sudo aptitude install php-pear
$ sudo pear upgrade-all
$ which pecl       
/usr/bin/pecl

続いて、APCのインストール。

$ sudo pecl install APC

ちなみに、phpizeが無いとこんな風に怒られるので注意。

downloading APC-3.0.19.tgz ...
Starting to download APC-3.0.19.tgz (115,735 bytes)
.........................done: 115,735 bytes
47 source files, building
running: phpize
sh: phpize: not found
ERROR: `phpize' failed

php.ini(/etc/php5/apache2/php.ini)にAPCの設定を追加する。

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

[apc]
extension=apc.so
apc.enabled=1
apc.optimization=1
apc.ttl=10
apc.gc_ttl=10
apc.shm_size=96

以上で、Apacheを再起動すれば完了。念のため、ちゃんと有効になっているかphpinfo()でAPCの項目を確認しておく。



名前:  非公開コメント   

URL(任意):
  • TB-URL  http://chibilog.name/0363/tb/