PHP 缓存插件之 Zend Opcache ( 取代 APC )
简介:
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 )相关推荐
- opcache 缓存_缓存帽子戏法:Zend Opcache,Etags和查询缓存
opcache 缓存 In this article, we will be looking at some of the common caching techniques in PHP: Opca ...
- PHP多进程 - opcode缓存与用户缓存(APC, XCache, eAcclerator,Zend Opcache,Yac)
php是解释性的语言,每次运行都需要重新解释成opcode,这显然很浪费时间,使得php开发的web应用的性能不高.所以就出现了针对opcode的缓存组件,同时,一般的缓存组件又都提供用户数据的缓存( ...
- PHP使用Zend Opcache之优化加速和缓存清理总结
简介 字节码缓存不是php的新特性,有很多独立性的扩展可以实现缓存,比如PHP Cache(APC),eAccelerator,ionCube和XCache等等.但是到目前为止,这些独立的扩展并没有集 ...
- php cgi 挂掉,zend opcache引起iis/Apache 不时挂掉 php-cgi.exe - FastCGI 进程意外退出
windows程序日志报错如下: 无法找到来自源 Zend OPcache 的事件 ID 487 的描述.本地计算机上未安装引发此事件的组件,或者安装已损坏.可以安装或修复本地计算机上的组件. 详细错 ...
- zend opcache的最佳设置
2016-01-21 在网上无意中看到的一篇文章,这哥们非常简洁地谈论了zend opcache的最佳设置,他说他为此花了大量的时间探索zend opcache的每个设置选项的细节,甚至是阅读它的源代 ...
- php zend gua,PHP安装使用Zend Opcache扩展
简介 Zend OPCache 的前身是Zend Optimizer + (Zend O+),于 2013年3月中旬改名为 Opcache.其通过 opcode 缓存和优化提供更快的 PHP 执行过程 ...
- WordPress缓存插件WP Super Cache的使用及常见问题解决
WP Super Cache是一款很好的WordPress优化插件,是我用过最好的一款缓存插件.打开WordPress后台搜索插件页面,第一个就是这个插件,可想而知他的地位有多厉害了. 什么是WP S ...
- 【转】最佳 WordPress 缓存插件:WP Super Cache
WP Super Cache 是 WordPress 官方开发人员 Donncha 开发,是当前最高效也是最灵活的 WordPress 静态缓存插件.它把整个网页直接生成 HTML 文件,这样 Apa ...
- wordpress html页面缓存 cdn,WordPress 下老旧又高效的本地缓存插件 cos-html-cache
摘要 Cos Html Cache是一种非常有效的WordPress页面缓存插件可以让你的站点更快更灵敏.基于URL重写,插件将自动生成HTML文件的帖子真正当他们第一次加载,并自动更新HTML文件. ...
最新文章
- 使用VScode开发C语言程序,环境安装配置,保姆级教程
- c语言递归函数检测回文,递归法判断回文字符串,急用
- linux 物理内存不知道怎么占用,Linux系统下如何查看物理内存占用率
- php调试代码时var_dump( )打印中文字符时出现乱码解决方案
- 30天试用期到了_如何战胜被天气支配的恐惧?洗衣干衣不用看“天”,国美干衣机免费等你试!...
- 计算机视觉可分计算成像学()五大类,中国大学 MOOC_化工过程与控制仿真实习_期末考试选修课答案...
- 上海宝付教你如何更好地保护手机隐私
- Visual Studio介绍及安装
- C#版OPOS打印(基于北洋OPOS SDK二次开发包,支持EPSON和北洋、佳博、商祺等支持标准ESC/POS指令的POS打印机)...
- AntColony 磁力搜索BT引擎的核心
- 千年db服务器注册,千年服务器架设说明.doc
- IOI 2022国际信息学竞赛那些事儿(附Day1原题)
- hourglass论文_论文笔记 Stacked Hourglass Networks for Human Pose Estimation
- Biotin-PEG2k-NHS,Biotin-PEG2000-NHS,PEG衍生物
- 联想显示器在用HDMI转DVI线显示时,屏幕显示不全的解决办法
- 如何自动识别视频语音内容并生成字幕
- MATLAB中的乘除法 “ * ” 和 “ .* ” and “ / ” 和 “ ./ ”
- Mysql-mmm高可用集群(有mysql环境)
- 在编程语言中提到的“字面量”是什么意思啊?
- BI 不是可以拖拉拽取数吗?为什么还要 SQL 取数 ?