PHPの高速化(2)

前回の「PHPの高速化」では、Zend Optimizer,XCacheを使ってみました。今回は、APCを使ってみましょう。

APC(Alternative PHP Cache)とは、PHPの中間コードのキャッシュや最適化を行う拡張モジュールです

APCは、コンパイル作業が必要になります。そのためSSHあるいはtelnetに対応しているレンタルサーバーでなければインストールは難しいでしょう。
また、php.iniファイルの操作が必要になりますので、まずは、ご利用のレンタルサーバーが対応可能か確認してみてください。

APCを使った高速化

以下の手順で簡単に設置できます。

  1. APCのホームページからソースコードのライブラリをダウンロードする。

    ダウンロードするファイルは、2010.04現在では、3.0.19(stable) or 3.1.3p1(beta)のいずれかでしょう。
    stable:安定版,beta:開発版ですので、問題が少ないのは、もちろんstable:安定版となりますが、効果を最大限期待できるのは、beta:開発版となるでしょう。

  2. サーバーへダウンロードしたファイルをアップロードする。
    ダウンロードしたファイルは、自分のレンタルサーバーへアップロードします。
    もちろんレンタルサーバーから直接wgetでダウンロードするのも良いと思います。
    ※アップロード先は、wwwから見えないところが良いと思います。たとえば、/home/user/lib/apc/ などのディレクトリを作成してアップロードしましょう。

  3. SSH or telnetでレンタルサーバーへログインし、解凍する。

    $ tar xvzf APC-3.0.19.tgz

    通常、上記のコマンドイメージで解凍できます。

    /APC-3.0.19

    というディレクトリが作成されたことと思います。

  4. APCをコンパイルする。

    $ cd APC-3.0.19
    $ phpize
    $ :
    $ ./configure –enable-apc
    $ :
    $ gmake
    $ :
    $

    通常、上記のコマンドイメージですべて完了です。

    /APC-3.0.19/module/apc.so

    というファイルが作成されたことと思います。

  5. 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(); ?>



    このような表示がなされればOKです。

    ※通常、php.iniの編集は、コントロールパネルから行えるようになっていると思いますので、そのページから編集しましょう。
    共用サーバーの場合、コントロールパネルから編集・保存を行うと自動的にapacheへphp.ini情報を読み込むようになっているはずですからね。 :D

  6. 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!!!

    先のphpをWEBからアクセスすると以下のように見えるはずです。


APCは、しょぼいサーバーには、案外、効果的です。実際に、自宅サーバーにも入れてみましたが、体感速度は、なかなかよかったです。
レンタルサーバーでは、今のところ、それほどの実感がありません。これから、しばらく様子をみてみようと思います。

独自ドメインが使える格安レンタルサーバーなら


がおすすめです。
このお値段でMySQLもphpも動かせますから、とりあえず、自分のサイトを作ってみたい方には、おすすめです。

この記事を読んだ人は次の記事も読んでいます:

口コミ・評判

(1) 口コミ・評価があります。 口コミ・評価を投稿する
  1. 管理人
    2010年4月23日, 9:05 AM

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

口コミ・評価を投稿 :

お名前 *

メールアドレス *
(口コミ・評価欄には、表示されませんが入力が必要です。)

サイトアドレス

phpとmysql が使えるおすすめ格安レンタルサーバーをご紹介します。もちろん、Joomla!,WordPress,Mobile Typeなどの有名なCMSも使える格安、割安感のあるレンタルサーバーを厳選して、比較紹介します。
新型コンピュータウィルス「JSRedir-R(通称:Gumblar・GENOウィルス)」の亜種が、2009年末より猛威を振るっており、 現在もウィルスによって、FTP接続パスワードが抜き取られる事象が多発しております。

このサイトでは、ランキング情報には、すべてのレンタルサーバーの情報が表示されますが、 おすすめ情報には、SFTP/FTPSに対応していないレンタルサーバーをおすすめはしないようにしております。
お気に入り(BookMark) : はてなdel.icio.usLivedoor ClipYahoo!FC2Nifty ClipPOOKMARK. AirlinesBuzzurl(バザール)Choixnewsing















サーバー1年目総額最安値

※1年目総額とは、初期設定費用+月額使用料1年分の総額です。

ドメイン1年目最安値

※1年目最安値とは、新規登録料金1年契約料金の最安値です。