自宅サーバ関連の前の記事はこちら
自宅サーバのwordpressの速度が遅い
自宅サーバのwordpressの速度が遅い その2
自宅サーバの環境はCentOS 5.6 + PHP5.3.3(CentOS 5.6上でyumでphp53パッケージをインストールしたもの)です。
APCとはAlternative PHP Cacheの略で、PHPの中間コードのキャッシュや最適化を行う拡張モジュールです。検索すると「APCを入れたらwordpressが早くなった!」っとあったので期待しながらインストール。
結果を先に書くと早くならなかったですorz CPUがatom330のせいか…?
とりあえず、インストールの過程をメモしておきます。
#pecl install APC (中略) /tmp/pear/temp/APC/apc.c:393: error: expected specifier-qualifier-list before 'pcre' /tmp/pear/temp/APC/apc.c: In function 'apc_regex_compile_array': /tmp/pear/temp/APC/apc.c:454: error: 'apc_regex' has no member named 'preg' /tmp/pear/temp/APC/apc.c:454: error: 'apc_regex' has no member named 'preg' /tmp/pear/temp/APC/apc.c:455: error: 'apc_regex' has no member named 'nreg' /tmp/pear/temp/APC/apc.c:455: error: 'apc_regex' has no member named 'nreg' /tmp/pear/temp/APC/apc.c: In function 'apc_regex_match_array': /tmp/pear/temp/APC/apc.c:487: error: 'apc_regex' has no member named 'preg' /tmp/pear/temp/APC/apc.c:487: error: 'apc_regex' has no member named 'preg' /tmp/pear/temp/APC/apc.c:488: error: 'apc_regex' has no member named 'nreg' /tmp/pear/temp/APC/apc.c:488: error: 'apc_regex' has no member named 'nreg' make: *** [apc.lo] エラー 1 ERROR: `make' failed
エラーが出て進まないので、google先生で検索するとyumでpcre-develというパッケージを入れればよいらしい。PCRE=Perl Compatible Regular Expressions。Perl互換の正規表現を処理するライブラリみたいです。
#yum install pcre-devel (中略) ============================================================================================ Package Arch Version Repository Size ============================================================================================ Installing: pcre-devel i386 6.6-6.el5_6.1 updates 181 k pcre-devel x86_64 6.6-6.el5_6.1 updates 184 k Installing for dependencies: pcre i386 6.6-6.el5_6.1 updates 117 k Transaction Summary ============================================================================================ Install 3 Package(s) Upgrade 0 Package(s) Total download size: 483 k Is this ok [y/N]: y (中略) #pecl install APC
これでインストールできました。APCを利用するには/etc/php.dにapc.iniというファイルを作成し、中に「extension=apc.so」と記入してapacheをgracefulするようです。
# touch /etc/php.d/apc.ini # vi /etc/php.d/php.ini ---- 以下の内容を記入して保存 extension=apc.so ---- # apachectl graceful
apcが実際に動いているかを確認するにはphp -i|grep apcで確認。
# php -i|grep apc Additional .ini files parsed => /etc/php.d/apc.ini, apc apc.cache_by_default => On => On apc.canonicalize => On => On apc.coredump_unmap => Off => Off apc.enable_cli => Off => Off apc.enabled => On => On (以下略)
たぶんapc.enabledがOnになっていれば動作していると思います。
これでwordpressが早くなっているかと思ってapache bench(ab)しましたが、変化ないですorz
自宅サーバのCPUがatom330だから、そこがボトルネックになっているんだろうか…
—-追記
WP Super Cache 0.9.9.9のキャッシュを利用している状態でAPCを有効にすると、wordpressの画面が真っ白になりました^^;他のキャッシュ系のプラグインなどとは相性がわるいのかも。APCを無効にすると治ったので、他のキャッシュ系のものと一緒に使う場合は気をつけたほうがいいかもです。
—-参考にしたブログ
peclでAPCをインストールicoro : CentOSにPHPアクセラレータのAPCを入れてみた
APCインストール時のエラー対処 APCのインストールで詰まった:三浦仮想研究所