PHPの高速化(2)

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

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



口コミ・評判



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

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

    このコメントは、参考になりましたか? Thumb up 0 Thumb down 0
  2. 管理人
    2010年10月8日, 5:17 AM

    ここで試しているレンタルサーバーは、さくらインターネットの共有レンタルサーバー(さくらインターネット(プレミアム))です。

    今度、新しく出たさくらインターネットのVPSこちら(さくらインターネットVPSホームページ)なら、お試し期間で試してみたところ、このAPCは、うまく機能しましたね。

    まあ、VPSですから、サーバー丸ごとと同じですから、当然と言えば当然ですけどね。

    とりあえず、月額¥980ですから、下手に自宅サーバーたてるよりも安上がりです。
    とりあえず、お試し期間2週間ありますから、試されると良いと思います。 (Y)
    さくらインターネットのVPSホームページへこちら(さくらインターネットVPSホームページ)

    このコメントは、参考になりましたか? Thumb up 0 Thumb down 0
  3. [...] APCをインストールします。 APCは、phpのpeclを使います。 $ pecl install apc downloading APC-3.0.19.tgz … Starting to download APC-3.0.19.tgz (115,735 bytes) …………………….done: 115,735 bytes 47 source files, building running: phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 220060519 Use apxs to set compile flags (if using APC with Apache)? [yes] : yes building in /var/tmp/pear-build-naru/APC-3.0.19 running: /var/tmp/APC/configure –with-apxs checking for egrep… grep -E : : : Build process completed successfully Installing '/usr/lib64/php/modules/apc.so' install ok: channel://pecl.php.net/APC-3.0.19 configuration option "php_ini" is not set to php.ini location You should add "extension=apc.so" to php.ini 以上で、インストール完了です。 格安レンタルサーバーでは、このAPCは、もし、インストールできたとしても、ほとんど意味がありません。 APCは、メモリ上にコンパイル済みphpバイナリデータを持とうとします。 それは、格安レンタルサーバーでは、みんなで使う共有サーバーが基本ですから、コンパイル済みphpバイナリデータを書き込むためのメモリを確保できないんですね。 しかし、自宅サーバーなら話は違います。 (このあたりが、自宅サーバーのおいしいところで)自宅サーバーは、自分が専有しているのですから、すべての権限は自分で決めれます。 メモリに余裕があれば、思う存分APCの効果を試せます。 実際に試すとわかるんですけど、このAPCは、かなり体感速度が向上します。是非、お試しを。 参考記事: ・「PHPの高速化」 ・「PHPの高速化(2)」 [...]

    このコメントは、参考になりましたか? Thumb up 0 Thumb down 0
  4. [...] PHPの高速化(2) | phpとmysql が使えるおすすめ格安レンタルサーバー比較 [...]

    このコメントは、参考になりましたか? Thumb up 0 Thumb down 0

口コミ・評判を投稿 :

お名前 *

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

サイトアドレス

*


KDDI CloudCore VPSが新規受付の完全再開!!


人気のあまり新規受付停止中でしたが、
新規受付再開しました。 :)

12ヶ月契約 月額¥1,470 → キャンペーン価格 月額¥945 のキャンペーン実施です。 :D

  • 仮想化技術 : KVM になりました。
  • CPU : 物理 1 core になりました。
  • メモリ : 2GB になりました。
  • ディスク : 100GB になりました。
  • 回線 : 100MBPS共有 になりました。
  • 初期設定費: 無料 になりました。

CloudCore VPSの詳細については、 こちらのKDDI CloudCore VPSのサイト CloudCore VPSのサイトへへどうぞ。(お試し期間が10日あります。)

さくらインターネットでデータベース機能強化!!


さくらインターネット
データベース大幅機能アップ実施!!
もちろん既に利用している方もこれから借りる方も全ての利用者対象です。 :)

  • データベース作成数を大幅に増量
    スタンダード 1個 → 20個
    プレミアム  1個 → 50個
    ビジネス   2個 → 100個
    ビジネスプロ 3個 → 200個
  • ストレージエンジン「InnoDB」の追加提供
  • データベースサーバのスペック増強 (従来比5倍のパフォーマンスを実現)

さくらインターネットのお申し込みは、 こちらのさくらインターネット サイト さくらインターネットのサイトへからどうぞ。(お試し期間が14日あります。)

サイトメニュー(カテゴリ)




一押し!!キャンペーン情報

  • 共有サーバー
  • VPS
  • マネージド
  • ドメイン

その他のキャンペーン情報は、こちらをご確認ください。





主なラインキング

共有レンタルサーバー& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各レンタルサーバーの機能概要一覧は、 こちらからどうぞ


VPS& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各VPS機能概要一覧は、 こちらからどうぞ


マネージドサーバー& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各マネージドサーバー機能概要一覧は、 こちらからどうぞ


ドメインレジスタ& みんなの評価

みんなの評価は、このサイトを利用されている方の評価平均でランキングされています。

各ドメインレジスタの主要ドメイン価格一覧は、 こちらからどうぞ

: この表示がある価格は、キャンペーン価格になります。

Valid XHTML 1.0 Transitional


  • はてなブックマークへ追加するはてな登録数
  • Yahoo!
  • Livedoor Clip
  • FC2
  • Nifty Clip
  • POOKMARK. Airlines
  • Buzzurl(バザール)
  • Choix
  • newsing
  • del.icio.us
ページトップへ