▼ 2009/04/15(水) PHPのアクセラレータを使ってみる
我が家では、技術系の情報だったり、ちょっとしたメモ書きだったりをWikiを使ってまとめています。Pukiwikiってゆー、PHPで書かれたやつを使っているのです。忘れっぽいので何かにメモしておかないと本当に忘れるので・・・それでこのPukiwikiなんだけど、高速化したいのでアクセラレータの導入をしてみましたよ。
とりあえず、APC ってやつと Xcache ってやつを試してみました。これらのアクセラレータは中間コードをキャッシュしてくれたり、最適化を行ってくれたりするものです。なのでこれらのアクセラレータを使っていない状態よりはパフォーマンスが向上するはずです。
試しに、アクセラレータ無し、Xcache、APC の3パターンでのパフォーマンス測定をしてみました。結果は以下の通り。
| 無し | xcache | APC | |
|---|---|---|---|
| Requests per second | 6.16 [#/sec] | 9.15 [#/sec] | 9.29 [#/sec] |
| Time per request | 1624.546 [ms] | 1092.824 [ms] | 1076.336 [ms] |
| Transfer rate | 74.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の項目を確認しておく。
▼ コメント(0件)
- TB-URL http://chibilog.name/0363/tb/
