105

我正在研究使用其中的哪一个,但我真的找不到一个突出的。 EacceleratorAPC快,但 APC 维护得更好。Xcache更快,但其他的语法更简单。

任何人都建议使用哪个以及为什么?

4

12 回答 12

110

APC 将包含在 PHP 6 中,我猜它被选中是有充分理由的 :)

它相当容易安装,并且肯定会加快速度。

于 2009-05-31T00:28:44.763 回答
23

查看基准和比较:

这里这里那里

于 2009-05-31T00:12:46.573 回答
13

APC 肯定。它是由 PHP 人编写的,因此即使它可能无法共享最高速度,但您可以打赌它是最高质量的。

另外,您还可以获得我一直使用的其他一些漂亮的功能(http://www.php.net/apc)。

于 2009-05-31T00:52:48.117 回答
11

最后我选择了 eAccelerator - 速度提升、内存占用更小以及非常易于安装的事实影响了我。它还有一个不错的基于 Web 的前端来清除缓存并提供一些统计信息。

它不再维护的事实对我来说不是问题 - 它有效,这就是我所关心的。将来,如果它破坏了 PHP6(或其他),那么我将重新评估我的决定并可能会选择 APC,因为它已被 PHP 开发人员采用(因此应该更容易安装)

于 2009-05-31T00:37:22.513 回答
11

指出每个版本(包括日期)的当前稳定、不稳定和开发版本可能很重要:

装甲运兵车

http://pecl.php.net/package/apc

dev        dev          2013-09-12
3.1.14     beta         2013-01-02
3.1.9      stable       2011-05-14

Xcache

http://xcache.lighttpd.net/

dev/3.2     dev        2013-12-13
dev/3.1     dev        2013-11-05
3.1.0       stable     2013-10-10
3.0.4       stable     2013-10-10

电子加速器

https://github.com/eaccelerator/eaccelerator

dev         dev        2012-08-16
0.9.6-rc1   unstable   2010-01-26
0.9.5.1     stable     2007-05-16
于 2013-07-05T08:52:08.497 回答
9

在我见过的所有测试中,eAccelerator 的执行速度都比任何其他缓存都快,并且使用的内存更少。它带有一个漂亮的脚本来查看缓存利用率和清除缓存等。eAccelerator 与 xdebug 和 Zend Optimizer 兼容。

APC 包含在 PHP 中是因为它由 PHP 开发人员维护。它的性能非常好,但不如 eAccelerator。并且它与 Zend Optimizer 存在兼容性问题。

Xcache 是由 lighttpd 的开发人员制作的,基准测试表明它的性能类似于 eAccelerator,并且比 APC 更快。

那么哪个是最好的?

APC = 如果您想要一个始终与 PHP 一起使用的简单缓存,那就太好了,不用大惊小怪。eAccelerator = 如果您有时间维护它,保持更新并了解它的工作原理,它将执行得更快。长期支持不如 APC 确定,因为 APC 是由 PHP 开发人员完成的。

于 2010-12-02T13:17:36.937 回答
7

我使用 Apache、Lighttp 和 Nginx 以及 Wordpress 站点测试了 eAccelerator 和 XCache。eAccelerator 每次都赢。坏事只是缺少 Debian 和 Ubuntu 的软件包。在 PHP 更新后,如果没有重新编译 eAccelerator 模块,服务器通常不再工作。

eAccelerator 上一个 RC 来自 2009/07/15 (0.9.6 rc1),支持 PHP 5.3

于 2009-11-25T14:41:15.657 回答
6

我总是将 APC 与 php 5.1 和 5.2 一起使用,但是在将 APC 与 php 5.3 一起使用时,我遇到了很多(随机)错误:奇怪的空白页,随机内存不足错误。当我禁用 APC 时,它们都消失了。但这不是选择,因为它正在运行一个大容量的网站。

所以我尝试了加速器。到目前为止,它一直坚如磐石,速度提升甚至比 APC 还要大。APC 家伙确实需要花一些时间来修复错误。

于 2011-06-13T16:06:39.963 回答
4

我认为除非您在站点上使用 Zend Optimizer,否则 APC 是可行的方法。APC 与 Zend Optimizer 不兼容,因此在这种情况下,您需要使用 eAccelerator 之类的东西。

于 2009-05-31T07:28:12.370 回答
3

即使 eaccelerator 和 xcache 在中等负载下都表现得相当好,APC 在严重的请求强度下也能保持其稳定性。如果我们在这里谈论几百个请求/秒,您将感觉不到差异。但是,如果您想做出更多回应,请务必坚持使用 APC。特别是如果您的应用程序具有过度动态特性,这可能会在此类负载下导致锁定问题。http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-averages-issue/可能会有所帮助。

于 2011-05-13T23:12:24.007 回答
2

如果您只想缓存 PHP 文件,您可以直接使用 eAccelerator。非常容易安装和配置,并且效果很好。

但太糟糕了,他们从最新版本 0.9.6 中删除了 eaccelerator_put 和 eaccelerator_put。

于 2010-09-26T15:18:09.943 回答
2

APC segfaults 整天整夜,没有使用 eAccelerator 的经验,但 XCache 非常可靠,具有大量选项和不断开发。

于 2013-09-05T04:02:30.363 回答