简介:

Zend Opcache 、APC 这都是 PHP 代码加速器,将 PHP 源代码的编译结果缓存起来,再次调用时对比时间标记,如果没有改变则使用缓存数据,免去再次解析代码的开销。

APC 止步于 PHP 5.4 ,Zend Opcache 从 PHP 5.5 开始集成,取代 APC 。

一、安装 Zend Opcache

1、源码编译 PHP 时,加入 --enable-opcache 即可开启该扩展,之后稍做配置即可 ( PHP 5.6.17 )

2、手动添加 Zend Opcache 扩展。

shell > cd /usr/local/src/php-5.6.17/ext/opcache # 进去 PHP 源码目录下的插件目录
shell > /usr/local/php/bin/phpize # 生成 configure
shell > ./configure --with-php-config=/usr/local/php/bin/php-config
shell > make; make install # 完成安装
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

3、低版本添加 Zend Opcache 扩展 ( PHP 5.4.36 )

shell > wget http://pecl.php.net/get/zendopcache-7.0.5.tgz  # 官网下载源码包
shell > tar zxf zendopcache-7.0.5.tgz
shell > cd zendopcache-7.0.5
shell > /usr/local/php/bin/phpize
shell > ./configure --with-php-config=/usr/local/php/bin/php-config
shell > make; make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

# 之后的操作都一样了

二、配置 Zend Opcache

shell > vim /usr/local/php/php.ini[opcache] # 找到该模块zend_extension='/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/opcache.so' # 指定库文件opcache.enable=1 # 开启 Zend Opcacheopcache.enable_cli=1 # 开启在命令行使用 Opcacheopcache.memory_consumption=32 # 共享内存大小,单位 MB ,根据实际情况设置opcache.interned_strings_buffer=8opcache.max_accelerated_files=4000 # 最大缓存文件数量,命中率低时,可以提高该限制 ( 4000 并不是整 4000 ,会比这个数多一些 )opcache.revalidate_freq=60 # 查找文件更新间隔opcache.save_comments=0 # 不保存文件、函数的注释,可以提升性能,但是对有些框架会产生问题,建议测试后设置!( 默认为 1 保存 )opcache.fast_shutdown=1 # 启用内存快速回收shell > service php-fpm restart # 现在 phpinfo 界面就可以看到成功加载了 Zend Opcache ,或 php -m | grep -i opcache

三、监控、管理 Zend Opcache

两个开源项目 ( 第二个貌似好搞一点 ) :

1、https://github.com/PeeHaa/OpCacheGUI
2、https://github.com/amnuts/opcache-gui

# 可以直观的看到内存使用量、命中率、缓存文件等等信息!
# 第二个项目是单文件部署,很方便。不过要给该 URL 设置好权限。

shell > unzip opcache-gui-master.zip
shell > mkdir /data/www/opcache ; cp opcache-gui-master/index.php /data/www/opcache/shell > vim /usr/local/nginx/conf/nginx.conflocation ~ /opcache/index.php { # 在 server{} 中加入配置,可以使用 .*opcache.* 来代替 /opcache/index.phpaccess_log off;allow 127.0.0.1;allow 36.110.41.194; # 只允许某 IP 访问deny all;location ~ \.php$ { # 这里也要加入对 PHP 的解析,否则会报 404 权限拒绝root /data/www;fastcgi_pass 127.0.0.1:9000;# fastcgi_pass unix:/dev/shm/php-cgi.sock; # 127.0.0.1:9000fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;include fastcgi_params;}
}shell > kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

# 现在去浏览器访问 http://IP/opcache/index.php 吧!
# 这就是 Zend Opcache ,挺方便、又实用!( 原来的 APC 也蛮好的!)

四、压力测试

shell > yum -y install siegeshell > siege -c 100 -t 30s http://127.0.0.1/info.php # 100 个并发,测试 30 秒 ( 示例 )

Transactions:            5624 hits        # 总请求数
Availability:            100.00 %         # 成功率
Elapsed time:            29.56 secs       # 总耗时
Data transferred:        117.17 MB        # 数据总传输量
Response time:           0.01 secs        # 响应时间
Transaction rate:        190.26 trans/sec # 平均每秒完成多少次请求
Throughput:              3.96 MB/sec      # 平均每秒数据传输量
Concurrency:             2.32             # 实际最高并发连接数
Successful transactions: 5624             # 成功处理次数
Failed transactions:     0                # 失败处理次数
Longest transaction:     0.15             # 每次传输最长时间
Shortest transaction:    0.00             # 每次传输最短时间

转载于:https://www.cnblogs.com/wangxiaoqiangs/p/5336562.html

PHP 缓存插件之 Zend Opcache ( 取代 APC )相关推荐

  1. opcache 缓存_缓存帽子戏法:Zend Opcache,Etags和查询缓存

    opcache 缓存 In this article, we will be looking at some of the common caching techniques in PHP: Opca ...

  2. PHP多进程 - opcode缓存与用户缓存(APC, XCache, eAcclerator,Zend Opcache,Yac)

    php是解释性的语言,每次运行都需要重新解释成opcode,这显然很浪费时间,使得php开发的web应用的性能不高.所以就出现了针对opcode的缓存组件,同时,一般的缓存组件又都提供用户数据的缓存( ...

  3. PHP使用Zend Opcache之优化加速和缓存清理总结

    简介 字节码缓存不是php的新特性,有很多独立性的扩展可以实现缓存,比如PHP Cache(APC),eAccelerator,ionCube和XCache等等.但是到目前为止,这些独立的扩展并没有集 ...

  4. php cgi 挂掉,zend opcache引起iis/Apache 不时挂掉 php-cgi.exe - FastCGI 进程意外退出

    windows程序日志报错如下: 无法找到来自源 Zend OPcache 的事件 ID 487 的描述.本地计算机上未安装引发此事件的组件,或者安装已损坏.可以安装或修复本地计算机上的组件. 详细错 ...

  5. zend opcache的最佳设置

    2016-01-21 在网上无意中看到的一篇文章,这哥们非常简洁地谈论了zend opcache的最佳设置,他说他为此花了大量的时间探索zend opcache的每个设置选项的细节,甚至是阅读它的源代 ...

  6. php zend gua,PHP安装使用Zend Opcache扩展

    简介 Zend OPCache 的前身是Zend Optimizer + (Zend O+),于 2013年3月中旬改名为 Opcache.其通过 opcode 缓存和优化提供更快的 PHP 执行过程 ...

  7. WordPress缓存插件WP Super Cache的使用及常见问题解决

    WP Super Cache是一款很好的WordPress优化插件,是我用过最好的一款缓存插件.打开WordPress后台搜索插件页面,第一个就是这个插件,可想而知他的地位有多厉害了. 什么是WP S ...

  8. 【转】最佳 WordPress 缓存插件:WP Super Cache

    WP Super Cache 是 WordPress 官方开发人员 Donncha 开发,是当前最高效也是最灵活的 WordPress 静态缓存插件.它把整个网页直接生成 HTML 文件,这样 Apa ...

  9. wordpress html页面缓存 cdn,WordPress 下老旧又高效的本地缓存插件 cos-html-cache

    摘要 Cos Html Cache是一种非常有效的WordPress页面缓存插件可以让你的站点更快更灵敏.基于URL重写,插件将自动生成HTML文件的帖子真正当他们第一次加载,并自动更新HTML文件. ...

最新文章

  1. 使用VScode开发C语言程序,环境安装配置,保姆级教程
  2. c语言递归函数检测回文,递归法判断回文字符串,急用
  3. linux 物理内存不知道怎么占用,Linux系统下如何查看物理内存占用率
  4. php调试代码时var_dump( )打印中文字符时出现乱码解决方案
  5. 30天试用期到了_如何战胜被天气支配的恐惧?洗衣干衣不用看“天”,国美干衣机免费等你试!...
  6. 计算机视觉可分计算成像学()五大类,中国大学 MOOC_化工过程与控制仿真实习_期末考试选修课答案...
  7. 上海宝付教你如何更好地保护手机隐私
  8. Visual Studio介绍及安装
  9. C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机)...
  10. AntColony 磁力搜索BT引擎的核心
  11. 千年db服务器注册,千年服务器架设说明.doc
  12. IOI 2022国际信息学竞赛那些事儿(附Day1原题)
  13. hourglass论文_论文笔记 Stacked Hourglass Networks for Human Pose Estimation
  14. Biotin-PEG2k-NHS,Biotin-PEG2000-NHS,PEG衍生物
  15. 联想显示器在用HDMI转DVI线显示时,屏幕显示不全的解决办法
  16. 如何自动识别视频语音内容并生成字幕
  17. MATLAB中的乘除法 “ * ” 和 “ .* ” and “ / ” 和 “ ./ ”
  18. Mysql-mmm高可用集群(有mysql环境)
  19. 在编程语言中提到的“字面量”是什么意思啊?
  20. BI 不是可以拖拉拽取数吗?为什么还要 SQL 取数 ?

热门文章

  1. Javascript在IE中的有趣错误
  2. linux 学习过程中的坑之 find 正则表达式
  3. NEO智能合约反编译工具
  4. Nginx-location常用配置
  5. Docker基础之九: 管理容器的数据
  6. 《Head First Java》的思考总结:第三篇
  7. 【Android】MTK Android 源码开发环境搭建
  8. 【EntityFramework系列教程三,翻译】在ASP.NET MVC程序中使用EntityFramework对数据进行排序、过滤筛选以及实现分页...
  9. 坐视——做事——做势
  10. 美妙的Python又来了