【问题标题】:Is OPcache a plus if HTTP caching is enabled?如果启用了 HTTP 缓存,OPcache 是否是一个加分项?
【发布时间】:2019-06-08 07:42:21
【问题描述】:

我一直在阅读有关 PHP 性能的一般概念以及可以做些什么来改进它。在开发网站时,是时候上线了,我使用 HTTP 缓存,也许还有 CDN(取决于流量)。现在这让我想知道 OPcache 是否有用,因为我已经使用了 HTTP 缓存 - 页面缓存。

OPcache的定义:

OPcache 通过存储预编译脚本来提高 PHP 性能 共享内存中的字节码,从而无需加载 PHP 并针对每个请求解析脚本。

如果启用了 http 缓存,OPcache 是否是一个加分项?我想我在某个地方错过了重点。

【问题讨论】:

  • 考虑缓存未命中时会发生什么。
  • 相反的说法也是有效的,为什么不呢?如果你同时缓存两者有什么缺点吗?还要考虑可能无法通过 HTTP 运行的东西,例如 cron 作业。

标签: php performance caching opcache


【解决方案1】:

HTTP 缓存与 PHP Opcache 不同。 HTTP缓存将在客户端缓存静态结果。例如,这可能是图像、脚本和页面。

Opcaching 将缓存预编译的 PHP 脚本。这将执行无法存储在客户端上的脚本。以我的帐户页面为例。

总之,是的。 Opcaching 将使您的 PHP 执行更快。因为它存储预编译的 PHP 文件。 HTTP 缓存只会帮助您处理静态结果/页面。

既然您正在努力提高您的 PHP 性能,不妨看看 http://php.net/manual/en/book.apc.php

【讨论】:

  • 客户端的HTTP缓存?很确定他的意思是缓存他的 PHP 输出,而不是客户端缓存资产。也许OP可以澄清一下?
  • @JackWilko 我认为 OP 意味着缓存控制标头。很高兴能澄清这一点。
  • 是的,我的意思是页面缓存,在客户端缓存文件,因此他不需要再次从服务器请求它们。 @JackWilko
  • 好吧,如果你的意思是客户端缓存,我的回答仍然是相关的。我认为你应该启用 opcache。
  • @Antonios Tsimourtos 页面缓存和浏览器缓存是两个不同的东西。页面缓存意味着在您提供页面之前,您将结果缓存在服务器上,并在请求相同的页面/数据/任何内容时重新提供它们。浏览器缓存是服务器告诉浏览器保留一个文件的副本,并在需要时再次使用它,从而避免浏览器再次向服务器发送请求。无论哪种方式,只要坚持 OP 缓存,如果它产生任何积极的变化,那么有什么害处。
猜你喜欢
  • 2014-05-11
  • 1970-01-01
  • 2021-10-29
  • 2013-12-18
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 2015-03-21
相关资源
最近更新 更多