WordPress高速化:PHPアクセラレータ(APC)を入れてみました

メモリが十分あればWordPressのキャッシュプラグインを入れれば済む話ですが、1GBしかないのでAPCのみ使って高速化を図る事にしました。

手順

yum install php-pecl-apc

vi /etc/php.d/apc.ini

[ apc.ini ]

;# apc extension module を有効にします。
extension = apc.so
apc.enabled=1

;# apc extension module のオプションを設定します。

;## コンパイラキャッシュのために割り当てる共有メモリセグメントの数。
apc.shm_segments=1

;## 個々の共有メモリセグメントの大きさを MB 単位で指定します。
;#apc.shm_size=32
apc.shm_size=32M

;## 最適化レベル。ゼロは最適化を無効にし、 値を大きくするほど最適化のレベルが高くなります。
apc.optimization=0

;## キャッシュされているエントリが、 他のエントリに割り当てられるまでスロットに残っていることの可能な秒数。
;#apc.ttl=7200
apc.ttl=3600
;#apc.user_ttl=7200
apc.user_ttl=3600

;## Web サーバで読み込まれるソースファイルの総数についての 「ヒント」。よくわからない場合はゼロを指定するか、 単に無視してください。
apc.num_files_hint=1024

;## –enable-mmap を用いて MMAP サポートつきでコンパイルされている場合、ここで mktemp 形式のファイルマスクを指定します。
apc.mmap_file_mask=/tmp/apc.XXXXXX

;## たいていは、テストやデバッグ用に使用します。これを設定すると CLI バージョンの PHP で APC を有効にします。
apc.enable_cli=1

;## デフォルトで On です。しかし、これを Off にして + で始まる apc.filters とともに使用することで、 フィルタに一致したファイルのみをキャッシュすることが可能です。
apc.cache_by_default=1

キャッシュヒット率などを確認するページの設置
cp -p /usr/share/doc/php-pecl-apc-3.1.15/apc.php /var/www/html/設置したいディレクトリ

http://server-tech.xyz/設置したディレクトリ/apc.php

APCの設定確認
php -r “phpinfo();” | grep apc

設定反映
/etc/init.d/httpd restart

apache benchでAPC導入前と導入後の計測をすると以下の結果になりました。

ab -n 10 -c 5 http://server-tech.xyz/
APC導入前:Requests per second: 2.98 [#/sec] (mean)
APC導入後:Requests per second: 4.06 [#/sec] (mean)

メモリが1GBしかないのでキャッシュを32MBだけしか指定できませんでしたが、およそ1.36倍パフォーマンスがアップした事が確認できました。

Comments are closed.