ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    さくらのVPS PHPを高速化するeAccelerator

    このエントリーを含むはてなブックマーク はてなブックマーク - さくらのVPS PHPを高速化するeAccelerator あとで読む
    さくらのVPS インストールまとめ - 浜村拓夫の世界

    さくらのVPS(CentOS5.5 64bit版)で、最新のPHPをインストールした後、PHPの動作を高速化するために「eAccelerator」をインストールします。

    ●eAcceleratorとは?
    45. eAcceleratorでスピードアップ - PHP TIPS:ITpro

    今回は、PHPの処理速度を簡単に上げることができるモジュール、eAccelerator をご紹介します。
    eAcceleratorはスクリプトを最適化しコンパイルされた状態でキャッシュすることで、スクリプト実行速度を飛躍的に上昇させます。



    PHP:eAccelerator で PHP 高速化 - Y-110's Wiki

    アクセラレータはスクリプトを解析した結果を中間コード(バイトコード)の状態で共有メモリ上にキャッシュします。
    スクリプトの2回目以降の実行は構文解析を行わずに, キャッシュされた中間コードをダイレクトに読み込むことで処理を高速化しています。
    巨大なソースファイルや多数のファイルをインクルードしているケースでは, アクセラレータは絶大な威力を発揮します。







    ●eAcceleratorのインストール
    (参考) eaccelerator - 30過ぎの親父のブログ

    「remi」リポジトリにあった最新のeAcceleratorのパッケージをインストールしてみます。

    yum install php-eaccelerator --enablerepo=remi



    ・eAcceleratorの設定

    vi /etc/php.d/eaccelerator.ini



    以下のように、eAcceleratorの設定内容を編集してみました。

    [eaccelerator]

    ;;;;;;;;;;;;;;;;;;;
    ; About this file ;
    ;;;;;;;;;;;;;;;;;;;
    ;
    ; eAccelerator is compatible with Zend Optimizer's loader. Zend Optimizer
    ; must be installed after eAccelerator in php.ini. If you don't use scripts
    ; encoded with Zend Encoder then we do not recommend you install Zend Optimizer
    ; with eAccelerator.


    ; You must uncomment one (and only one) line from the following to load
    ; eAccelerator extension.
    extension="eaccelerator.so"
    ;zend_extension="/usr/lib/php/modules/eaccelerator.so"
    ;zend_extension_ts="/usr/lib/php/modules/eaccelerator.so"

    ;extension="eaccelerator.dll"
    ;zend_extension_ts="c:\php4\eaccelerator.dll"
    ;zend_extension="c:\php4\eaccelerator.dll"

    ; The amount of shared memory (in megabytes) that eAccelerator will use.
    ; "0" means OS default. Default value is "0".
    eaccelerator.shm_size = "32" → とりあえず「0」を「32」にしておく

    ; The directory that is used for disk cache. eAccelerator stores precompiled
    ; code, session data, content and user entries here. The same data can be
    ; stored in shared memory also (for more quick access). Default value is
    ; "/var/cache/php-eaccelerator".
    eaccelerator.cache_dir = "/var/cache/php-eaccelerator"

    ; Enables or disables eAccelerator. Should be "1" for enabling or
    ; "0" for disabling. Default value is "1".
    eaccelerator.enable = "1"

    ; Enables or disables internal peephole optimizer which may speed up code
    ; execution. Should be "1" for enabling or "0" for disabling.
    ; Default value is "1".
    eaccelerator.optimizer = "1"

    ; Enables or disables debug logging. Setting this to 1 will print information
    ; to the log file about the cach hits of a file.
    eaccelerator.debug = 0

    ; Set the log file for eaccelerator. When this option isn't set then the data
    ; will be logged to stderr
    eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"

    ; A string that's prepended to all keys. This allows two applications that use t
    he
    ; same key names to run on the same host by setting this in .htaccess or in the
    main
    ; configuration file for the whole webserver.
    eaccelerator.name_space = ""

    ; Enables or disables PHP file modification checking. Should be "1"
    ; for enabling or "0" for disabling. You should set it to "1" if you want
    ; to recompile PHP files after modification. Default value is "1".
    eaccelerator.check_mtime = "1"

    ; Determine which PHP files must be cached. You may specify the number of
    ; patterns (for example "*.php *.phtml") which specifies to cache or
    ; not to cache. If pattern starts with the character "!", it means to ignore
    ; files which are matched by the following pattern. Default value is "" that
    ; means - all PHP scripts will be cached.
    eaccelerator.filter = ""

    ; When eAccelerator fails to get shared memory for new script it removes
    ; all scripts which were not accessed at last "shm_ttl" seconds from shared
    ; memory. Default value is "0" that means - don't remove any files from
    ; shared memory.
    eaccelerator.shm_ttl = "0"

    ; When eAccelerator fails to get shared memory for new script it tries to
    ; remove old script if the previous try was made more then "shm_prune_period"
    ; seconds ago. Default value is "0" that means - don't try to remove any
    ; files from shared memory.
    eaccelerator.shm_prune_period = "0"

    ; Enables or disables caching of compiled scripts on disk. It has no effect
    ; on session data and content caching.
    ; Default value is "0" that means - use disk and shared memory for caching.
    eaccelerator.shm_only = "0"

    ; The script paths that are allowed to get admin information and do admin
    ; controls
    eaccelerator.allowed_admin_path = ""



    ・ディレクトリとファイルがある場所を確認

    eaccelerator.cache_dir = "/var/cache/php-eaccelerator"
    eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"



    ・Apache再起動で設定変更を反映

    /etc/rc.d/init.d/httpd restart



    ●phpinfo()確認
    PHPのインストールが完了したら、最後にphpinfo()関数で設定内容を確認しておきます。

    <?php
    phpinfo();
    ?>



    eAcceleratorの項目が表示されていればOK

    独習Linux独習Linux
    小林 準

    翔泳社 2007-01-25
    売り上げランキング : 152999

    Amazonで詳しく見る
    by G-Tools


    実践CentOSサーバルート養成講座実践CentOSサーバルート養成講座
    田鍬 享

    秀和システム 2009-06
    売り上げランキング : 253219

    Amazonで詳しく見る
    by G-Tools


    さくらのVPS インストールまとめ - 浜村拓夫の世界
    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/639-c45e7f4e

    FC2Ad