php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析


Posted in PHP onMarch 02, 2020

本文实例讲述了php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法。分享给大家供大家参考,具体如下:

一、opcache

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

PHP 5.5.0 及后续版本中已经绑定了 opcache 扩展。 对于 PHP 5.2,5.3 和 5.4 版本可以使用PECL扩展中的 opcache 库。

windows下的php扩展下载地址:

http://windows.php.net/downloads/pecl/releases/

打开php.ini文件,找到[opcache]

; dll地址
extension=php_opcache.dll
; 开关打开
opcache.enable=1
; 开启CLI
opcache.enable_cli=1
; 可用内存, 酌情而定, 单位为:Mb
opcache.memory_consumption=128
; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)
opcache.interned_strings_buffer=8
; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值
opcache.max_accelerated_files=10000
; opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, (单位:秒)
opcache.revalidate_freq=1
; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高
opcache.fast_shutdown=1

二、APC

Alternative PHP Cache (APC) 是一个开放自由的PHP opcode 缓存。它的目标是提供一个自由、 开放,和健全的框架用于缓存和优化PHP的中间代码。

下载apc扩展dll,选择你对应的PHP版本

http://windows.php.net/downloads/pecl/releases/apc/

把下载的php_apc.dll放入php的ext扩展目录下。

打开php.ini文件,配置如下:

[apc]
extension=php_apc.dll
apc.enabled=1
; 共享内存块的数目
apc.shm_segments=1
; 共享内存块的大小(单位:MB)
apc.shm_size=64
; 优化级别,更高的值则使用更主动的优化
apc.optimization=1
; 源文件的数目,不确定设置为0
apc.num_files_hint=0
; 缓存条目在缓冲区中允许逗留的秒数
apc.ttl=7200
; 针对每个用户缓存条目在缓冲区中允许逗留的秒数
apc.user_ttl=7200
; 缓存条目在垃圾回收表中能够存在的秒数
apc.gc_ttl=7200
; 文件写锁
apc.write_lock=on

三、xcache

xcache是一个开源的 opcode 缓存器/优化器。

下载xcache,选择对应PHP版本的xcache

http://xcache.lighttpd.net/pub/Releases/

把php_xcache.dll放到php的ext目录下。

打开php.ini,配置如下:

[xcache-common]
extension = php_xcache.dll
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "md5后你的密码"
[xcache]
; 选择底层内存共享实现方案
xcache.shm_scheme = "mmap"
xcache.size = 128M
; 设置为CPU数
xcache.count = 1
; 只是个参考值
xcache.slots = 8K
; 缓存时间
xcache.ttl = 1200
; 垃圾回收的时间间隔
xcache.gc_interval = 1200
; 同上,针对变量缓存设置
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 1200
 
; 变量最大缓存时间
xcache.var_maxttl = 7200
xcache.var_gc_interval = 1200
xcache.var_namespace_mode = 0
xcache.var_namespace = ""
xcache.readonly_protection = Off
; 对于win系统,这里不是文件路径
xcache.mmap_path = "xcache"
xcache.coredump_directory = ""
xcache.coredump_type = 0
xcache.disable_on_crash = Off
xcache.experimental = Off
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coverager_autostart = On
xcache.coveragedump_directory = ""

四、eAccelerator

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。

下载eAccelerator

http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds

把下载到的eAccelerator_ts.dll放到php的ext目录下。
打开php.ini,配置如下:

[eAccelerator]
extension="eAccelerator_ts.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="设置缓存目录"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "设置日志文件"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP开发入门教程之面向对象
Dec 05 PHP
php+mysql写的简单留言本实例代码
Jul 25 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
Yii分页用法实例详解
Dec 04 PHP
Laravel+jQuery实现AJAX分页效果
Sep 14 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 #PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 #PHP
PHP中关于php.ini参数优化详解
Feb 28 #PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 #PHP
php 的多进程操作实践案例分析
Feb 28 #PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 #PHP
php的无刷新操作实现方法分析
Feb 28 #PHP
You might like
新浪新闻小偷
2006/10/09 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
python+opencv实现动态物体追踪
2018/01/09 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
flask实现验证码并验证功能
2019/12/05 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
项目建议书格式
2014/03/12 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
《社戏》教学反思
2014/04/15 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
golang 在windows中设置环境变量的操作
2021/04/29 Golang