PHPの高速化(2)
前回の「PHPの高速化」では、Zend Optimizer,XCacheを使ってみました。今回は、APCを使ってみましょう。
APCは、コンパイル作業が必要になります。そのためSSHあるいはtelnetに対応しているレンタルサーバーでなければインストールは難しいでしょう。
また、php.iniファイルの操作が必要になりますので、まずは、ご利用のレンタルサーバーが対応可能か確認してみてください。
APCを使った高速化
以下の手順で簡単に設置できます。
- APCのホームページからソースコードのライブラリをダウンロードする。
ダウンロードするファイルは、2010.04現在では、3.0.19(stable) or 3.1.3p1(beta)のいずれかでしょう。
stable:安定版,beta:開発版ですので、問題が少ないのは、もちろんstable:安定版となりますが、効果を最大限期待できるのは、beta:開発版となるでしょう。 - サーバーへダウンロードしたファイルをアップロードする。
ダウンロードしたファイルは、自分のレンタルサーバーへアップロードします。
もちろんレンタルサーバーから直接wgetでダウンロードするのも良いと思います。
※アップロード先は、wwwから見えないところが良いと思います。たとえば、/home/user/lib/apc/ などのディレクトリを作成してアップロードしましょう。 - SSH or telnetでレンタルサーバーへログインし、解凍する。
$ tar xvzf APC-3.0.19.tgz
通常、上記のコマンドイメージで解凍できます。
/APC-3.0.19
というディレクトリが作成されたことと思います。
- APCをコンパイルする。
$ cd APC-3.0.19
$ phpize
$ :
$ ./configure –enable-apc
$ :
$ gmake
$ :
$通常、上記のコマンドイメージですべて完了です。
/APC-3.0.19/module/apc.so
というファイルが作成されたことと思います。
- php.iniを更新し、APCを有効にする。
php.iniへ以下のように追加します。
2行目のディレクトリは、上記でアップロードしたディレクトリを指定します。extension_dir=/home/user/lib/apc/APC-3.0.19/modules/ extension=apc.so apc.enabled = 1 apc.mmap_file_mask = /home/user/lib/apc/temp/apc.XXXXXXディレクトリ名は、各環境に合わせて設定しましょう。
/home/user/lib/apc/temp というディレクトリは、適当なテンポラリディレクトリです。
誰でも書き込めるようにディレクトリの属性を設定をしておきましょう。最後に以下のように記述したphpファイルをWEBから見えるところへアップロードしWEBから表示させてみましょう。
<?php echo phpinfo(); ?>
※通常、php.iniの編集は、コントロールパネルから行えるようになっていると思いますので、そのページから編集しましょう。
共用サーバーの場合、コントロールパネルから編集・保存を行うと自動的にapacheへphp.ini情報を読み込むようになっているはずですからね。
- APCが動いているか確認してみる。
APCが動作しているかどうかは、先のphpinfoでも確認できます。さらに、詳細に動作を確認するためのphpファイルが用意されていますので、それを使ってみましょう。先の解凍したディレクトリ/APC-3.0.19/にapc.phpというファイルがありますので、WEBサーバーから見えるところへコピーしましょう。
例)
$ cp /home/user/lib/apc/APC-3.0.19/apc.php /home/user/www/.apc,phpのユーザ名とパスワードを変更しましょう。
apc,phpに以下のような行があると思いますので、ユーザ名、パスワードをそれぞれ設定しましょう。
defaults('ADMIN_USERNAME','user'); // Admin Username defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
レンタルサーバーでは、今のところ、それほどの実感がありません。これから、しばらく様子をみてみようと思います。
独自ドメインが使える格安レンタルサーバーなら
- 何といても安い!ハッスルサーバー
- 安定感抜群のさくらインターネット(スタンダード)
- 早さと容量のさくらインターネット(プレミアム)
がおすすめです。
このお値段でMySQLもphpも動かせますから、とりあえず、自分のサイトを作ってみたい方には、おすすめです。
この記事を読んだ人は次の記事も読んでいます:
口コミ・評判



2010年4月23日, 9:05 AM
共用のレンタルサーバーでは、あまり意味がないでしょう。
これは、デフォルトで32MBのメモリを利用して、そこにPHPのコンパイル済みのデータをキャッシュしていきます。
共用のレンタルサーバーでは、おそらくほとんどのサーバーで32MBのメモリを常時確保できないでしょう。
たぶん・・・。なので、たぶん、あまり意味がないような気がします。
但し、自宅サーバーでメモリだけはふんだんにあるというサーバーは、CPUが倍増したような速度を体験できると思います。管理人もおんぼろ自宅サーバーで、あきらかに早くなったなという体感をしましたので・・・。