実践: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の場合は使っても良い程度の速度改善でした。

ページの先頭へ戻る