OPcache 通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能, 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。

一、php.ini配置opchche示例

[opcache]

zend_extension=opcache.so

; 开关打开

opcache.enable=1

opcache.enable_cli=1

;共享内存大小, 酌情而定,单位 megabytes

opcache.memory_consumption=256

;interned string的内存大小, 也可调

opcache.interned_strings_buffer=8

;最大缓存的文件数目,命中率不到 100% 的话, 可以试着提高这个值

opcache.max_accelerated_files=4000

;60s检查一次文件更新

opcache.revalidate_freq=60

;打开快速关闭, 打开这个在PHP Request Shutdown的时候 会收内存的速度会提高

opcache.fast_shutdown=1

;不保存文件/函数的注释

opcache.save_comments=0

; 是否快速关闭, 打开后在PHP Request Shutdown的时候回收内存的速度会提高

opcache.fast_shutdown=1

二、部分配置参数说明

opcache.revalidate_freq

这个配置选项用于设置缓存的过期时间,如果设置为0,每次请求时,都会检查文件是否修改,很耗资源,所以如果暂时不需要使用opcache,直接把opcache.enable设置为0即可。

opcache.validate_timestamps

配置为1时,会根据revalidate_freq设定的值检查更新代码;设置为0时,永不检查。

当需要一次更新大量代码的时候,可以设置为0,上传全部完成后,再设置为1。避免上传代码造成系统的不稳定。

opcache.max_accelerated_files

真实的取值是在质数集合 { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } 中找到的第一个比设置值大的质数。

你可以运行 find . -type f -print | grep php | wc -l 这个命令来快速计算你的代码库中的PHP文件数。

三、推荐配置

开发模式下推荐,直接禁用opcache扩展更好

opcache.revalidate_freq=0

opcache.validate_timestamps=1

opcache.max_accelerated_files=3000

opcache.memory_consumption=192

opcache.interned_strings_buffer=16

opcache.fast_shutdown=1

多台机器集群模式或者代码更新频繁时推荐,可以兼顾性能,方便代码更新

opcache.revalidate_freq=300

opcache.validate_timestamps=1

opcache.max_accelerated_files=7963

opcache.memory_consumption=192

opcache.interned_strings_buffer=16

opcache.fast_shutdown=1

稳定项目推荐,性能最好

opcache.revalidate_freq=0

opcache.validate_timestamps=0

opcache.max_accelerated_files=7963

opcache.memory_consumption=192

opcache.interned_strings_buffer=16

opcache.fast_shutdown=1

参考

php 环境优化,[笔记] 使用 opcache 优化生产环境 PHP相关推荐

  1. 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样...

    在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": {"publish-m ...

  2. 微服务实施笔记(五)——生产环境部署

    上回书,把服务注册的整个流程在本地单机上完整的走完了,接下来就要把这些东西部署到虚拟的生产环境中去了.整个服务注册的流程都是依靠docker进行打包和部署的.当要发布到生产环境中的时候就涉及到dock ...

  3. python网络框架生产环境_配置Django框架为生产环境的注意事项(DEBUG=False)

    问题描述: Django1.10版本中框架中settings.py配置文件 配置文件settings.py配置了下面两项: DEBUG=False ALLOWED_HOSTS= ['*'] #这样可以 ...

  4. C++性能优化笔记-13-特定优化主题

    特定优化主题 使用查找表 边界检查 使用位操作符一次检测多个值 整数乘法 整数除法 浮点除法 不要混合使用浮点和双精度 浮点数和整数的转换 浮点转换为整型 整型转换为浮点 在浮点变量乘法中使用整数操作 ...

  5. mysql生产环境运维方案_[MySQL生产环境] Innodb存储引擎内存报警问题处理过程

    1 不停的收到email报警,内存值超过阀值80%了. 2 top下,mysqld进程确实占据了77.5%,再加上一些其他的辅助进程,内存usage到了81%也可以理解. [xxx@00903 5.5 ...

  6. docker mysql 生产环境_如何部署Docker MySQL生产环境?

    1 前言 Docker容器原则上是短暂的,如果容器被删除或损毁,数据或配置将丢失,所以上个章节部署的MySQL只适合于测试环境,由于生产的需求,本章将使用Docker卷机制持久保存Docker容器中创 ...

  7. mysql生产环境加索引_MySQl开发和生产环境索引对比

    --1.创建索引信息表 create table `t_index_update` ( `table_name` varchar(20) COLLATE gbk_bin DEFAULT NULL, ` ...

  8. vue服务端渲染——项目搭建、开发、生产环境的部署、浏览渲染、SEO优化

    几个月前,公司要求(服务端渲染)--用vue-ssr做了个服务端渲染,从起搭建.开发.部署.浏览器渲染到优化,希望对有需要的小伙伴有帮助,若是有不足之处,望指出,一起讨论学习.--几个月过去了,公司又 ...

  9. U3D开发性能优化笔记(待增加版本.x)

    Amir Fasshihi 优化方案: 一.遇到麻烦时要调用"垃圾回收器"(Garbage Collector,无用单元收集程序,以下简称GC) 由于具有C/C++游戏编程背景,我 ...

最新文章

  1. htaccess分布式配置文件常用写法
  2. django-TDD
  3. 电子测量与仪器第四版pdf_固定资产管理系统_资产分类名称(电子和通信测量分析仪器篇)...
  4. 如何从云功能调用外部REST API
  5. springBoot中自定义的yml文件引用的方式
  6. Qt工作笔记-对QXmlStreamWriter进一步的认识(写复杂的XML文件)
  7. RTT学习笔记2-线程
  8. mock SpringMVC 测试控制器方法
  9. 【SIGIR2020】信息检索对话中混合主动性和协同性的分析
  10. 江苏省计算机二级高级office知识点,江苏省计算机二级考试(江苏省二级office题库)...
  11. 如何编写makefile文件
  12. oracle创建PDB数据库
  13. JDK8新特性之Stream流【小白快速上手,没有技巧全是实操-LOL英雄类讲解不失趣味】
  14. iPhone各种机型尺寸、屏幕分辨率
  15. 使用python获取win10锁屏照片
  16. 小于等于、 大于等于Mybatis 、oracle
  17. 16行 python代码获取音效素材
  18. 专业计算机基础教学,计算机基础教学计划
  19. AS400 EBCDIC码转UTF-8码
  20. 求最长上升子序列——LIS的O(nlogn)算法(二分)

热门文章

  1. hls和modelsim联合仿真生成波形找不到wlf文件
  2. java String 常用方法集合
  3. PL/SQL TOAD 不安装Oracle客户端连接数据库的方法
  4. GOF业务场景的设计模式-----责任链模式
  5. bzoj 1040: [ZJOI2008]骑士
  6. [转载] python实现基本算法之插入排序(Insertion Sort)
  7. [转载] python机器学习库sklearn——参数优化(网格搜索GridSearchCV、随机搜索RandomizedSearchCV、hyperopt)
  8. [转载] python中list的方法有哪些_Python 列表(list)中的方法
  9. 实验三 密码破解技术 201521410010
  10. zbb20180613 Spring MVC实现大文件下载功能