PHP 的Opcache加速的使用方法

本文介绍了PHP 的Opcache加速的使用方法,具体如下,分享给大家:

介绍

PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的)。对于PHP 5.5以下版本的,需要使用APC加速

Opcache是一种通过将解析的PHP脚本预编译的字节码存放在共享内存中来避免每次加载和解析PHP脚本的开销,解析器可以直接从共享内存读取已经缓存的字节码,从而大大提高PHP的执行效率。

配置

在PHP 5.5.0及后续版本中,PHP已经将Opcache功能以拓展库形式内嵌在发布版本中了,默认未开启Opcache加速,需要开发人员在php.ini中添加或解注释Opcache相关配置即可。对于之前的老版本,可以将Opcache作为PECL拓展库进行安装和配置

php.ini:

[opcache]

# 启动操作码缓存
opcache.enable=1

#针对支持CLI版本PHP启动操作码缓存 一般被用来测试和调试
opcache.enable_cli=1

# 共享内存大小,单位为MB
opcache.memory_consumption=128

#存储临时字符串缓存大小,单位为MB,PHP5.3.0以前会忽略此项配置
opcache.interned_strings_buffer=8

#缓存文件数最大限制,命中率不到100%,可以试着提高这个值
opcache.max_accelerated_files=4000

#一定时间内检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 单位为秒
opcache.revalidate_freq=60

#开启快速停止续发事件,依赖于Zend引擎的内存管理模块,一次释放全部请求变量的内存,而不是依次释放内存块
opcache.fast_shutdown=1

#启用检查 PHP 脚本存在性和可读性的功能,无论文件是否已经被缓存,都会检查操作码缓存,可以提升性能。 但是如果禁用了 opcache.validate_timestamps选项, 可能存在返回过时数据的风险。
opcache.enable_file_override=1

Opcache注意事项

1、使用Opcache就没必要使用apc 和 Xcache加速;

因为PHP 5.5.0及后续版本已经内嵌对Opcache的支持,所以PHP意识到其重要性,相对于Xcache等第三方的PHP优化器来说,使用Opcache会是更好的选择。另外,两者同时存在的话,会使Opcache的缓存命中数大大降低,而且增加不必要的开销。

2、不建议在开发过程中开启Opcache

开启了Opcache之后,开发人员修改的内容不会立即显示和生效,因为受到opcache.revalidate_freq=60的影响,所以建议在开发并测试之后,测试性能时再行打开测试,当然,生产环境一直都要开着Opcache。

3、不建议将Opcache指标设置太大

Opcache各项指标配置大小或是否开启,需要结合项目实际情况需求及Opcache官方建议的配置,项目的实际情况分析,可结合上面第四部分的可视化缓存信息分析调整。

4、不建议长期使用老版本的Opcache

建议及时关注Opcache官网动态,实时了解其的bugs修复,功能优化及新增功能,以便更好的将其应用在自己的项目中。

5、不建议在生产环境中,将上面介绍的开源项目放入Web服务根目录

原因很简单,因为这个开源项目并未做访问的限制和安全处理,也就是说凡是可以访问外网的用户,只要知道了访问地址就可以直接访问,所以不安全。一般下,这个开源工具只是帮助可视化分析PHP的性能,通常在开发调试阶段使用。如果就是想在生产环境开启使用,那么就必须做好安全限制工作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Opcache导致php-fpm崩溃nginx返回502

    我这个博客为了提高运行效率在vps上装了opcache扩展,结果发现有个页面返回502,其他页面正常. 检查了php-fpm日志,发现是php-fpm子进程不知道为什么会崩溃,然后把opcache关了就正常.中间折腾的过程就不提了,总之最后发现应该是和另外一个扩展 zend guard冲突导致的,搞笑的是,只要我把php.ini中[zend guard] 配置段放在[zend opcache]后面就正常了. 不想继续深究了,如果你对php底层熟悉,可以为我解惑.

  • PHP Opcache安装和配置方法介绍

    本文针对PHP5.5等高级版本,编译时需要加上--enable-opcache参数 编译安装完成后,我们开始配置Opcache 复制代码 代码如下: [Opcache] zend_extension = opcache.so opcache.enable=1 opcache.memory_consumption = 64 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 4000 opcache.revalid

  • PHP开启opcache提升代码性能

    配置指令如下: [opcache] zend_extension=opcache.so opcache.enable_cli=1 ;共享内存大小, 这个根据你们的需求可调 opcache.memory_consumption=256 ;interned string的内存大小, 也可调 opcache.interned_strings_buffer=8 ;最大缓存的文件数目 opcache.max_accelerated_files=4000 ;60s检查一次文件更新 opcache.reval

  • PHP 的Opcache加速的使用方法

    本文介绍了PHP 的Opcache加速的使用方法,具体如下,分享给大家: 介绍 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速 Opcache是一种通过将解析的PHP脚本预编译的字节码存放在共享内存中来避免每次加载和解析PHP脚本的开销,解析器可以直接从共享内存读取已经缓存的字节码,从而大大提高PHP的执行效率. 配置 在PHP 5.5.0及后续版本中,PHP已经将Opcache功能以拓展库形式内嵌在发

  • MySQL使用临时表加速查询的方法

    本文实例讲述了MySQL使用临时表加速查询的方法.分享给大家供大家参考.具体分析如下: 使用MySQL临时表,有时是可以加速查询的,下面就为您详细介绍使用MySQL临时表加速查询的方法. 把表的一个子集进行排序并创建MySQL临时表,有时能加速查询.它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作.例如: 复制代码 代码如下: SELECT cust.name,rcVBles.balance,--other columns  SELECT cust.name,rcVBles.bala

  • pytorch多进程加速及代码优化方法

    目标:优化代码,利用多进程,进行近实时预处理.网络预测及后处理: 本人尝试了pytorch的multiprocessing,进行多进程同步处理以上任务. from torch.multiprocessing import Pool,Manager 为了进行各进程间的通信,使用Queue,作为数据传输载体. manager = Manager() input_queue = manager.Queue() output_queue = manager.Queue() show_queue = ma

  • win2003+IIS下安装Xcache加速的配置方法分享

    在论坛后台看了半天,只有内存优化一个还没有做,但是自己以前又没有弄过,只有学了. 论坛支持Memcache.eAccelerator.Alternative PHP Cache(APC).Xcache 四种优化方式,在网上搜了很久,Memcache看的有点头晕,eAccelerator也有点莫名奇妙,最终选择Xcache. 经过一番摸索后把这个加速搞定了,手机进的时候都快了很多,效果看起来还是挺明显的,现在把配置方法写下来,以免以后重装系统或换服务器什么的又忘了怎么弄. Xcache下载地址:

  • 给网站上的广告“加速”显示的方法

    网站建设-给网站上的广告"加速"的方法 第一种是采用iframe+html的方式调用.不管iframe插入在什么地方,加载网页的时候首先是先加载正文内容,然后才加载iframe里的东西.代码如下: <iframe src="15zone.cn" target="_blank">15zone.cn/blog/post/huazonghua-guanggao.html" target="_blank">

  • 用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法

    官方地址:http://www.arnot.info/eaccelerator/选择下载对应您的系统和PHP版本的eAccelerator 2.将其重命名为 eaccelerator.dll (win版) 然后移至您的 php目录下 的 ext文件夹中 3.在c:\php\建立缓存文件夹 temp 修改权限为 user组可读写 3.根据您系统的情况,一般都是PHP 扩展 ISAPI 打开php.ini文件, 找到extension=php_zip.dll, 在下面添加 zend_extensio

  • Linux编译升级php的详细方法

    服务器环境:CentOS – 5.4php升级:5.4.14 - 5.5.0升级心得:比较顺利,但是有一点需要说明:eaccelerator无法兼容php5.5.0,好在php在5.5.0默认提供了Zend OPcache,所以一直习惯eaccelerator的朋友如果要升级到php5.5.0的话,可能要暂时和eaccelerator说bye bye了.1.安装php5.5.0下载php安装包:http://www.php.net/get/php-5.5.0.tar.gz/from/a/mirr

  • Windows Server 2016 服务器配置指南之PHP7运行环境搭建方法

    因为 PHP7 在 Windows 已经提供了完整的 64bit 支持,所以选择 64bit 系统安装 64bit PHP7 将获得更好的性能表现. PHP7 需要 VC14 ( Visual C++ Redistributable for Visual Studio 2015 x86 or x64)做运行库,所以我们先要安装 VC14. 一.下载并安装运行库: x64 安装 64 位的运行库,x86 安装 32位的运行库. 32位下载:https://download.microsoft.co

  • laravel安装zend opcache加速器教程

    以文章页为例,通过chrome抓包,waiting的时间达到147ms,实际上未作缓存优化前,这个页面大概有4条sql语句,速度也只是152ms左右,差别不大,所以我决定安装zend opcache加速php. 当我在服务器上安装了zend opcache后,再测试,waiting已经下降到68ms,效果明显. so,laravel项目还是有必要安装此类php加速器的. 附安装教程: zend opcache(ZendOptimizerPlus) 项目目前托管在github,项目地址为: htt

随机推荐