使用 OpCache 提高 PHP 性能

OpCache 經過對 opcode 的緩存和優化來提高 PHP 執行速度。在 PHP 5.五、5.6 版本中 OpCache 已內建,編譯安裝時使用 --enable-opcache 便可。PHP 5.2 - 5.4 也可手動安裝。php

項目主頁

http://pecl.php.net/package/ZendOpcachehtml

開啓方法

修改 php.ini 文件sudo vim /etc/php.ininginx

在文件最後面加入:git

; 開關打開
opcache.enable=1

; 可用內存, 酌情而定, 單位 megabytes
opcache.memory_consumption=256

; 最大緩存的文件數目, 命中率不到 100% 的話, 能夠試着提升這個值
opcache.max_accelerated_files=5000

; Opcache 會在必定時間內去檢查文件的修改時間, 這裏設置檢查的時間週期, 默認爲 2, 單位爲秒
opcache.revalidate_freq=240

; interned string 的內存大小, 也可調
opcache.interned_strings_buffer=8   

; 是否快速關閉, 打開後在PHP Request Shutdown的時候回收內存的速度會提升
opcache.fast_shutdown=1

; 不保存文件/函數的註釋
opcache.save_comments=0

檢查安裝:

php -v

    PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05) 
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
        with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies

重啓服務

sudo /etc/init.d/php-fpm restart
sudo /etc/init.d/nginx restart

查看效果

小提示

若是在更新代碼以後,發現沒有執行的仍是舊代碼,可以使用函數 opcache_reset() 來清除緩存。該函數將重置整個字節碼緩存。 在調用 opcache_reset() 以後,全部的腳本將會從新載入而且在下次被點擊的時候從新解析。github

參考:

一、使用 OpCache 提高 PHP 5.5+ 程序性能:https://phphub.org/topics/301
二、ZendOpcache 官方下載:http://pecl.php.net/package/ZendOpcache
三、一個關於Zend O+的小分享:http://www.laruence.com/2013/11/11/2928.html
四、OCP -Opcache Control Panel:https://gist.github.com/ck-on/4959032
五、PHP WIKI 關於整合 ZendOpcache 進入發行版的討論:https://wiki.php.net/rfc/optimizerplusubuntu

相關文章
相關標籤/搜索