実践:OpenBlockS/OpenMicroServerの即運用術
PHPバイナリキャッシュでアプリケーションの高速化を図る
APC (Alternative PHP Cache)
ここまで何種類かのPHPアプリケーションをインストールしましたが、動作がやたら遅いアプリケーションに気付かれると思います。
MODxは自前のキャッシュによって非常に軽快に動作しますが、WordPressはPHPの作り方による影響なのかレスポンスが大変悪いようです。
PHPはインタプリタなので、Webからアクセスが入るとPHPソースをロードしてから中間コードにコンパイルされ実行します。
CPUパワー不足の場合、Webアクセスの度にコンパイルされていては処理効率が悪いので、このコンパイルされた中間コードをキャッシュすれば速度アップにつながります。
こう言ったキャッシュ機能を追加するにはPHPアクセラレータを使います。
PHPアクセラレータは何種類か出ていますが、今回は高速で評判の良いAPCを使ってみようと思います。
メモリーが豊富にあるサーバーには他にも良いものがあります。
■eAcceleratorのパッケージを追加する
eAcceleratorもコンパイル済みのパッケージが用意されているのでpkg_add可能です。
lamp# pkg_add php5-apc
===========================================================================
$NetBSD: MESSAGE.module,v 1.1 2004/11/05 21:40:25 jdolecek Exp $
To enable this module, add the following to /usr/pkg/etc/php.ini:
extension=apc.so
and make sure extension_dir points to the dir where eaccelerator.so is.
Then restart your PHP5-enabled HTTP server to load this module.
===========================================================================
lamp#
これもPHPの拡張ですからphp.iniのextensionのところへviエディタで追記します。
lamp# vi /usr/pkg/etc/php.ini
場所はMySQLなどのextensionを追記した行の付近で良いです。
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;extension=php_bz2.dll
:
: 省略
:
;extension=php_xsl.dll
;extension=php_zip.dll
extension=mysqli.so
extension=mysql.so
extension=pdo_mysql.so
extension=pdo.so
extension=apc.so ← 追加
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
:
: 省略
:
書き込んだら:x!で保存しviを抜けます。
以上でApacheを再起動すれば利用可能になります。
APC使ってみてMODxの動作はさらに快適になりましたが、WordPressの場合は使っても良い程度の速度改善でした。