当前位置: 首页 > 编程笔记 >

PHP 的Opcache加速的使用方法

林英朗
2023-03-14
本文向大家介绍PHP 的Opcache加速的使用方法,包括了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的性能,通常在开发调试阶段使用。如果就是想在生产环境开启使用,那么就必须做好安全限制工作。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍laravel安装zend opcache加速器教程,包括了laravel安装zend opcache加速器教程的使用技巧和注意事项,需要的朋友参考一下 以文章页为例,通过chrome抓包,waiting的时间达到147ms,实际上未作缓存优化前,这个页面大概有4条sql语句,速度也只是152ms左右,差别不大,所以我决定安装zend opcache加速php。 当我在服务器上安装了

  • 本文向大家介绍使用Xcache缓存器加速PHP网站的配置方法,包括了使用Xcache缓存器加速PHP网站的配置方法的使用技巧和注意事项,需要的朋友参考一下 推荐地址:http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps1/   由于国内网站备案比较麻烦,所以笔者便把网站放到了香港。虽然网站免去了备案的困扰,但是从访问速度上来

  • 本文向大家介绍MySQL使用临时表加速查询的方法,包括了MySQL使用临时表加速查询的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MySQL使用临时表加速查询的方法。分享给大家供大家参考。具体分析如下: 使用MySQL临时表,有时是可以加速查询的,下面就为您详细介绍使用MySQL临时表加速查询的方法。 把表的一个子集进行排序并创建MySQL临时表,有时能加速查询。它有助于避免多重排

  • 本文向大家介绍docker如何使用阿里加速器的方法,包括了docker如何使用阿里加速器的方法的使用技巧和注意事项,需要的朋友参考一下 最近在学习docker,发现docker hub速度慢,本文介绍了阿里云docker加速器,分享给大家 国外的docker hub速度慢这是公认的,而我们可以使用阿里提供的加速器,管理你的镜像,拉别人的镜像等等. 1.注册一个阿里的账号 2.进行加速器页面http

  • 本文向大家介绍Redis利用Pipeline加速查询速度的方法,包括了Redis利用Pipeline加速查询速度的方法的使用技巧和注意事项,需要的朋友参考一下 1. RTT Redis 是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下 Redis 客户端执行一条命令分为如下四个过程: 发送命令 命令排队 命令执行 返回结果 客户端向服务端发送一个查询请求,并监听Soc

  • 本文向大家介绍PHP 7.4中使用预加载的方法详解,包括了PHP 7.4中使用预加载的方法详解的使用技巧和注意事项,需要的朋友参考一下 前言 PHP 7.4增加了预加载支持,这一功能可以显着提高代码的性能。 这是一个简单的预加载: 为了预加载文件,您需要编写自定义PHP脚本 此脚本在服务器启动时执行一次 所有预加载的文件都可在内存中用于所有请求 在重新启动服务器之前,对源文件所做的更改不会产生任何