apc vs eaccelerator vs xcache

Gal*_*len 104 php opcode-cache eaccelerator apc xcache

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

有人建议使用哪些以及为什么?

Dav*_*unt 110

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

这很容易安装,当然可以加快速度.

  • 我只遇到了APC的三个问题,所有问题都在我的控制之下.1)不要让APC填满.确保分配足够的内存2)不要在活动服务器上使用apc_clear_cache()3)APC并不能很好地处理重锁争用 - 不要尝试同时从多个进程写入单个密钥. (46认同)
  • 由于此主题是谷歌的最佳结果,因此应该更新它以表明Zend Optimizer已合并到本月发布的PHP 5.5中.您*可以*将其关闭并使用APC代替,但我不确定您为什么要这样做. (20认同)
  • 实际上目前还没有PHP6这样的东西. (9认同)
  • @Benjamin用户数据存储可以使用APCu(https://github.com/krakjoe/apcu)进行恢复,APCu可以与ZO一起安装和使用. (2认同)

Bor*_*éry 23

查看基准和比较:

这里这里那里

  • 太糟糕了,他们太老了.2006年?EWWW. (15认同)
  • 成功.现在已经3岁了.Ewwww. (5认同)
  • 我想我们可以等几年,前面的评论会变老吗? (3认同)
  • 老兄,它已经是2016年了.十年前有人可以重做基准测试吗? (3认同)

Eve*_*ert 13

绝对是APC.它是由PHP人员编写的,所以尽管它可能不会分享最高的速度,但你可以打赌它是最高质量的事实.

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

  • 你在考虑memcached. (13认同)
  • Facebook也是APC的重度用户 - 他们使用千兆字节,即使不是太字节的APC缓存.他们所做的许多改进已经发布并整合到APC的主要版本中. (3认同)
  • @Every FB在与memcached建立TCP/IP连接之前尝试命中本地APC缓存http://www.scribd.com/doc/4069180/Caching-Performance-Lessons-from-Facebook (3认同)

gbj*_*anb 11

最后,我选择了eAccelerator - 速度提升,更小的内存占用以及非常容易安装的事实让我感到震惊.它还有一个很好的基于Web的前端来清除缓存并提供一些统计信息.

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

  • "如果它打破了PHP6"......难道你的意思是"什么时候?" :) (4认同)
  • 这很有趣,因为,5.5年后,仍然没有"PHP 6". (2认同)

Rya*_*her 11

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

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

eAccelerator在

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
Run Code Online (Sandbox Code Playgroud)


小智 9

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

APC包含在PHP中,因为它由PHP开发人员维护.它表现得非常好,但不如eAccelerator好.它与Zend Optimizer存在兼容性问题.

Xcache是​​由lighttpd的开发人员制作的,基准测试显示它与eAccelerator类似,并且比APC更快.

哪个最好?

APC =如果您想要一个易于使用PHP的简单缓存,那就太好了,不用大惊小怪.eAccelerator =如果你有时间维护它,继续保持它并了解它是如何工作的,它会更快地执行.长期支持不像APC那样确定,因为APC是由PHP开发人员完成的.


dev*_*rni 7

我用Apache,Lighttp和Nginx用Wordpress站点测试了eAccelerator和XCache.eAccelerator每次都获胜.坏事只是Debian和Ubuntu缺少的软件包.经过PHP更新后,如果不重新编译eAccelerator模块,服务器将不再工作.

eAccelerator的最后一个RC是2009/07/15(0.9.6 rc1),支持PHP 5.3


小智 6

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

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