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

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

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

摘要: APC、memcached、xcache、eAccelerator 四加速扩展的主要区别 在安装 LNMP 或 LAMP 架构 Web 服务器环境时,会选择安装一些缓存扩展以提高 PHP 运行效率。常用缓存扩展,包括:Alternative PHP Cache (简称 APC)、me ...
自动立式分页纸箱赋码系统 ── 全自动 专业 立式分页 瓦楞纸 水性油墨 贴标 喷码 检测系统
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 来说,原理相似,性能相近。


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

路过

雷人

握手

鲜花

鸡蛋
AI人工智能 语音助理 人工翻译 教程

相关阅读

最新评论

Qt 6.5.1 官方中文文档编制 手册教程 帮助文件 人工翻译
Qt 6.5.1 官方中文文档编制 手册教程 帮助文件 人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 6.5.1。 Qt 6.5.1 中文文档编制[35/2024-10-24]
Qt 6.5.1 官方中文文档编制 手册教程 人工翻译更新日志
Qt 6.5.1 官方中文文档编制 手册教程 人工翻译更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 6.5.1。 Qt 6.5.1 中文文档编制采[24/2024-10-24]
数字 Python IDE 2024 注册机 注册码生成器 附详细破解方法
数字 Python IDE 2024 注册机 注册码生成器 附详细破解方法 数字 Python IDE 目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于多版本 多文档 多工程并行[22/2024-10-24]
数字翻译 2024 注册机 注册码生成器 内存破解器 附详细用法
数字翻译 2024 注册机 注册码生成器 内存破解器 附详细用法 数字翻译目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于 HTML 文档本地化 (面向高精度 超[24/2024-10-24]
数字 Python IDE 2023 注册机 注册码生成器 附详细破解方法
数字 Python IDE 2023 注册机 注册码生成器 附详细破解方法 数字 Python IDE 目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于多版本 多文档 多工程并行[22/2024-10-24]
数字翻译 2023 注册机 注册码生成器 内存破解器 附详细用法
数字翻译 2023 注册机 注册码生成器 内存破解器 附详细用法 数字翻译目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于 HTML 文档本地化 (面向高精度 超[21/2024-10-24]
CSS3 官方中文文档编制 手册教程 人工翻译 更新日志
CSS3 官方中文文档编制 手册教程 人工翻译 更新日志 CSS3 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用任何第 3 方工具),[1592/2022-07-31]
CSS3 官方中文文档编制 手册教程 帮助文件 人工翻译
CSS3 官方中文文档编制 手册教程 帮助文件 人工翻译 CSS3 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用任何第 3 方工具),[1725/2022-07-31]
SolidWorks 2020 非对称Conic Rho圆角 抽壳出现模型穿刺
SolidWorks 2020 非对称Conic Rho圆角 抽壳出现模型穿刺 标准对称圆角最常用,但有时偶尔也会用到非对称圆角。 特别是模具、五金、电子、手饰、汽车、家具、玩具、等对圆[1417/2022-05-25]
NumPy 1.22 官方中文文档编制 手册帮助 更新日志
NumPy 1.22 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 NumPy 1.22。 NumPy 1.22 中文文档编制采用[997/2022-05-22]
NumPy 1.22 官方中文文档编制 手册帮助 全人工翻译
NumPy 1.22 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 NumPy 1.22。 NumPy 1.22 中文文档编制采[1167/2022-05-22]
Pillow 9.1.1 官方中文文档编制 手册帮助 更新日志
Pillow 9.1.1 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Pillow 9.1.1。 Pillow 9.1.1 中文文档编[1048/2022-05-22]
Pillow 9.1.1 官方中文文档编制 手册帮助 全人工翻译
Pillow 9.1.1 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Pillow 9.1.1。 Pillow 9.1.1 中文文档[1001/2022-05-22]
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 更新日志
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyMuPDF 1.19.6。 PyMuPDF 1.19.6 中文[1619/2022-05-22]
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 全人工翻译
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyMuPDF 1.19.6。 PyMuPDF 1.19.6 中[1480/2022-05-22]

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

GMT+8, 2024-11-23 07:37 , Processed in 0.032728 second(s), 27 queries .

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

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

返回顶部