python html5 bootstrap 视频教程
德云社区 门户 行业资讯 行业标准 IT 标准 查看内容

APC、memcached、xcache、eAccelerator 四加速扩展的主要区别

2014-12-31 11:56| 发布者: digitser| 查看: 1717| 评论: 0|原作者: gmail

摘要: APC、memcached、xcache、eAccelerator 四加速扩展的主要区别 在安装 LNMP 或 LAMP 架构 Web 服务器环境时,会选择安装一些缓存扩展以提高 PHP 运行效率。常用缓存扩展,包括:Alternative PHP Cache (简称 APC)、me ...
AI人工智能 语音助理 人工翻译 教程
APC、memcached、xcache、eAccelerator 四加速扩展的主要区别

在安装 LNMP 或 LAMP 架构 Web 服务器环境时,会选择安装一些缓存扩展以提高 PHP 运行效率。常用缓存扩展,包括:Alternative PHP Cache (简称 APC)、memcached、xcache、eAccelerator。它们之间有什么区别、又分别起什么作用呢?我们该如何选择?本文将给出答案。


1、 Alternative PHP Cache (简称 APC)

Alternative PHP Cache (简称 APC) 是一个开放自由的 PHP opcode 缓存工具。它旨在提供一个自由、 开放、 健全的框架,以缓存和优化 PHP 中间代码。


Alternative PHP Cache 是一种对 PHP 有效的开放源高速缓冲储存器工具,它能缓存 Opcode (目标文件) 的 PHP 中间码。APC 缓存分 2 部分:系统缓存和用户数据缓存。APC 会自动调用系统缓存,就是把 PHP 文件源码编译结果缓存起来,在下一次调用时先对比时间标记。如果未过期,则使用缓存代码运行。默认缓存 3600s ( 1 小时)。但是这样仍会浪费大量 CPU 时间。因此,可在 php.ini 中设置 system 缓存为永不过期 ( apc.ttl=0 )。不过,如果这样设置的话,改变 php.ini 代码后需重启 Web 服务器 (譬如:Apache 或 Nginx )。目前对 APC 的性能测试一般指的就是这一 cache;从文字上讲:Alternative PHP Cache 是一种内存缓存扩展,也是数据库缓存扩展。


2、 memcached

memcached 是一个高性能的分布式内存对象缓存系统。通常被用于降低数据库加载压力,以提高动态 Web 应用的响应速度。


它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态 Web、数据库驱动网站的速度。从文字上可这样理解:内存缓存扩展,且针对集群服务器使用较多,主要用于分布式缓存,算是数据库缓存。


3、 xcache

xcache 是一个开源的 opcode 缓存器/优化器,它能提高服务器的 PHP 性能。它把编译后的 PHP 数据缓冲到共享内存,从而避免重复的编译过程。可直接使用缓冲区已编译代码,从而提高 PHP 效率。通常能提高页面生成速率 2 到 5 倍, 降低服务器负载。其实它与 eAccelerator 一样,都是 PHP 加速器扩展。


4、eAccelerator

eAccelerator 是一个自由开放源码的 PHP 加速器,可优化和缓存动态内容,提高 PHP 脚本缓存性能。使 PHP 脚本在编译状态下,对服务器的开销几乎可完全消除。它还可对脚本起优化作用,以加快其执行效率。可提高 PHP 程序代码执行效率 1-10 倍。从文字上可这样理解:eAccelerator 是 PHP 的加速器扩展。


以上是 4 加速扩展的作用与区别,简单点说:memcached、APC 是数据库缓存扩展,eAccelerator、xcache 是 PHP 的缓存扩展。一般两者只要安装其中之一即可,不要贪多。此外,实际测试中发现当 Cache 数量超过一定阀值时,APC 的性能还不如 Memcached。所以在扩展的选择上,本人一般会选择 xcache + memcached 这个组合。


若已安装 APC 却又想再安装 xcache 时,在 Ubuntu Server 14.04 下会提示冲突。


总结:

1、程序环境非必要 Zend Optimizer 的情况下,首选 APC (它和 Zend Optimizer 是不兼容的);且 APC 的兼容性及性能,表现都非常优秀。


2、若 PHP 环境需要 Zend Optimizer,就安装 eAccelerator,并把 Zend Optimizer 的压缩级别调到 0。


zend optimizer 是一个代码优化模块,可调优 PHP 代码,实现原理:对那些在被最终执行之前,由运行时编译器 (Run-Time Compiler) 产生的代码进行优化。代码性能可提高 40% 到 100%,从这一点严格说,不具备强大的缓存能力。


eAccelerator 是一个将编译后的 PHP 代码缓存在 share memory 中的模块。通过访问共享内存可得到编译后的代码并直接执行,以提高效率。它对 PHP 的执行效率的提高还是很大的。同时,eAccelerator 也可缓存数据至文件中。这部分由于是对文件的操作,对大多数的文件 cache 来说,原理相似,性能相近。


版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

业务范围:

Linux 云计算 IaaS SaaS 服务器架设 开发 部署 维护

高仿真低成本,可动画 VR 5D 数字样机建模 开发 规划

内外部效率优化 APP 定制 IT 外包,数据管理 分析 挖据

标准 非标设备全流程研发,PLC 单片机 工控系统开发集成

微信智能互动营销策划,Web 网站代码 SEO 排名优化,大数据网络推广

文档 网页多语种翻译,数据资料标准化版本化 数字化管理的规划 研发 实施

跨平台 硬件 浏览器 HTML5 Web 电子商务平台 静态动态网站开发 部署 维护

Linux Windows 平台内外网 PLM ERP 数字化系统 服务器架设 开发 部署 维护
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法 在 PySide1.2 PySide2.x PyQt4 中,使用 QComboBox.currentTextChanged 信号有时会无响应,如下[24/2020-06-29]
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 中文在线手册
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 中文在线手册 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 OpenCV 4.2.0。 OpenCV 4.2.0 [73/2020-06-15]
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 更新日志
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 更新日志 最近把网页背景由白色改为黑色,保护视力,不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本[27/2020-06-15]
CMake 3.x 官方文档编制 中文手册 全人工翻译 更新日志
CMake 3.x 官方文档编制 中文手册 全人工翻译 更新日志 最近把网页背景由白色改为黑色,保护视力,不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为[23/2020-06-15]
CMake 3.x 官方文档编制 中文教程 全人工翻译 中文在线手册
CMake 3.x 官方文档编制 中文教程 全人工翻译 中文在线手册 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 CMake 3.14。 CMake 3.14 中文文[27/2020-06-15]
多功能 高效快速 批处理式 文档翻译工具 人工翻译 手动翻译
多功能 高效快速 批处理式 文档翻译工具 人工翻译 手动翻译 文档翻译及 GUI 翻译,经常需要反复修改及快速重建。若想满足这些要求,批处理技术是最佳选择。 软件开发人员在[32/2020-06-15]
OpenCV ── 以图像处理 算法为主的跨平台开源计算机视觉库
OpenCV ── 以图像处理 算法为主的跨平台开源计算机视觉库 OpenCV 的全称 Open Source Computer Vision Library,又名 “开源计算机视觉库”。OpenCV 是一个开源发行的跨[57/2020-06-15]
数字 IDE -- 全栈软件工程师编程 多功能高效 批处理式 IDE
数字 IDE -- 全栈软件工程师编程 多功能高效 批处理式 IDE 由于所有编程语言,源代码的主要表达形式仍是文本。 而文本在数字化 批处理化方面天然优势明显,如标准统一 (虽[27/2020-06-06]
多功能高效 批处理式 Python IDE Python 编辑器 新时代新理念
多功能高效 批处理式 Python IDE Python 编辑器 新时代新理念 计算机被发明以来,IDE 理念从最初的文本式,到后来的带图形界面式,再是图形可交互式,之后再无突破 (虽然有[107/2020-06-06]
CEO首席执行官 CFO首席财务官 COO首席运营官 CTO首席技术官
CEO首席执行官 CFO首席财务官 COO首席运营官 CTO首席技术官 CEO首席执行官 CEO 是 Chief Executive Officer 的缩写,中文译为首席执行官。 CEO 是在一个企业中负责日常事[60/2020-06-04]

Archiver|Sitemap|小黑屋|德云社区   

GMT+8, 2020-7-12 04:25 , Processed in 0.029212 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

返回顶部