【问题标题】:apc vs eaccelerator vs xcacheapc vs eaccelerator vs xcache
【发布时间】:2010-10-30 04:11:21
【问题描述】:

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

有人推荐使用哪个以及为什么?

【问题讨论】:

  • eAccelerator 看起来一年多没有发布。 xcache 的 VC 肯定很活跃,但我也无法专注于发布和关注。这一切都归结为一个正在维护的软件,APC 毫无疑问地赢得了它。
  • 现在是 2011 年第三季度。自 2009 年以来情况是否发生了变化?

标签: php apc opcode-cache xcache eaccelerator


【解决方案1】:

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

APC

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

【讨论】:

  • 更新了最新版本——Xcache 看起来在新功能和修补以前的版本方面活动最多
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 我在使用 APC 和 php 5.3 时遇到了同样的问题。感谢您的评论。在我的设置中没有任何缓存的 PHP 比使用 APC 更快、更可靠。在我删除 APC 之前,空白页和内存不足错误让我发疯。
    • 从来没有弄清楚内核因为 apc 而杀死 php-fpm 的原因
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

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

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

      那么哪个是最好的?

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

      【讨论】:

        【解决方案6】:

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

        But too bad, they removed the eaccelerator_put and eaccelerator_put from the latest version 0.9.6.

        【讨论】:

          【解决方案7】:

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

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

          【讨论】:

            【解决方案8】:

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

            【讨论】:

            • 如果您使用 Zend Optimizer,则不需要其他任何东西,因为它还执行 optcode 缓存并公开 APC 兼容接口。
            【解决方案9】:

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

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

            【讨论】:

            • Facebook 也是 APC 的重度用户——他们使用千兆字节(如果不是太字节)的 APC 缓存。他们所做的许多改进已被重新发布并集成到 APC 的主要版本中。
            • 你在考虑 memcached。
            • @Every FB 在与 memcached 建立 TCP/IP 连接之前尝试访问本地 APC 缓存scribd.com/doc/4069180/…
            • 可能......但是当他谈论已发布的改进等时......这可能是 Memcache。除非他们对 apc 做了同样的事情。
            • @Andy,Facebook 不使用这些。它使用自己的 HipHop VM。
            【解决方案10】:

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

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

            【讨论】:

            • "如果它破坏了 PHP6"...你的意思不是“什么时候”吗? :)
            • 这很有趣,因为 5.5 年后,仍然没有“PHP 6”。
            • @Eirik,PHP 6 就在昨天。现在是7
            【解决方案11】:

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

            安装起来相当容易,而且速度肯定会加快。

            【讨论】:

            • 我一直在权衡这三个,因此决定开始使用 APC 进行测试。另外两个似乎也有一些稳定性问题。
            • 我只遇到了三个关于 APC 的问题,所有这些问题都在我的控制之下。 1) 不要让 APC 填满。确保分配足够的内存 2) 不要在活动服务器上使用 apc_clear_cache() 3) APC 并不能很好地处理严重的锁争用——不要尝试同时从多个进程写入单个键。
            • 其实目前还没有PHP6这样的东西。
            • 由于该主题是 Google 的顶级搜索结果,因此应该更新它以表明 Zend Optimizer 已合并到本月发布的 PHP 5.5 中。您可以将其关闭并改用 APC,但我不确定您为什么要这样做。
            • @Benjamin 用户数据存储可以使用 APCu (github.com/krakjoe/apcu) 进行恢复,APCu (github.com/krakjoe/apcu) 可与 ZO 一起安装和使用。
            【解决方案12】:

            查看基准和比较:

            hereherethere

            【讨论】:

            • 可惜他们太老了。 2006 年?万维网。
            • 我想我们可以等几年,前面的评论会过时?
            • 成功。现在3岁了。呜呜呜。
            • 老兄已经是 2016 年了。有人可以重做十年前的基准测试吗?
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-06
            • 1970-01-01
            • 2011-06-14
            • 1970-01-01
            相关资源
            最近更新 更多