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模板技术原理【一】
Jan 10 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
php 过滤危险html代码
Jun 29 PHP
PHP 写文本日志实现代码
May 18 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
Feb 14 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
详解php命令注入攻击
Apr 06 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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
PHP 递归效率分析
2009/11/24 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python正则抓取网易新闻的方法示例
2017/04/21 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
python输入错误后删除的方法
2019/10/12 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
python中round函数保留两位小数的方法
2020/12/04 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
财经学院自荐信范文
2014/02/02 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
道德模范事迹材料
2014/12/20 职场文书
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL