同时使用Opcache和Xcache

8
我在想同时使用Xcache 3和Zend Opcache来缓存PHP文件是否愚蠢?我知道两者都几乎完成相同的工作,但不确定这是否会对性能和速度造成任何影响。
我想加快我的php页面加载速度,以便访问者不需要等待太长时间。
你有什么想法吗?

2
您只能向访问者提供1个缓存文件,因此创建2个是不必要的开销。您需要在两者之间进行一些性能测试并选择一个。 - Ohgodwhy
1
如果你有足够的内存,MEMCACHE是非常好的选择。如果你负担不起这么多内存,那么我建议你使用基于文件系统的缓存。无论如何,你都会受到磁盘I/O的影响。 - Ohgodwhy
1
仅仅因为两个东西都比没有使用它们更快,并不意味着同时使用它们会使速度更快。想象一下将两个引擎放入一辆汽车中:首先,你必须设法将它们同时连接到车轮上,并让它们相互帮助而不是妨碍一切。 - IMSoP
2
请注意,许多用户在Linux中从tmpfs缓存,这与在RAM中缓存相同,因为tmpfs位于RAM中。 RAM缓存非常适合常用文件,但很多时候,文件系统会为您处理将缓存到RAM中的操作。 - Devon
2
Opcache与APCu和memcache配合良好。不要混用xcache和opcache。此外,除非您是经验丰富的系统管理员,否则不要使用反向代理缓存,如squid或varnish。否则,您将陷入无法解脱的困境。 - TerryE
显示剩余4条评论
1个回答

6
回答你的问题:是的,你不应该同时运行xcache和Zend Opcache。如果这样做,你会得到未定义的行为,最明显的是“无法重新声明类XYZ”致命错误。在系统升级后,我遇到了这种情况,数据包维护者激活了已经存在的xcache安装中的Zend Opcache。

至于使用哪个来进行opcache,那取决于你的具体代码-我建议设置一个测试环境并启动Apache Benchmark或类似工具来检查答案时间。

在默认的WordPress安装上,我能够获得大约5-7倍的速度提升(未缓存与xcache相比),这相当显着。如果你真的需要更多,你需要检查评论中已经提到的其他可能性,如:

  • 使用负载均衡器和多个应用服务器
  • 使用memcache或memcached缓存数据库查询和其他负载重的操作
  • 切换到另一个数据库系统,如NoSQL系统(注意后果)
  • 将架构更改为提供交互式内容的静态站点和Web服务

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接