使用 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

相关文章
相关标签/搜索