首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解OPCache行为

理解OPCache行为
EN

Stack Overflow用户
提问于 2019-04-21 22:05:29
回答 4查看 510关注 0票数 1

即使网站落后于CloudFlare CDN,我们也决定使用OPCache来减少服务器上的负载,因为最大(峰值)是每秒400个活动用户(大部分时间是50-100u/s)。

但是大多数页面对于每个用户都有一些不同的数据,例如用户的仪表板概述,大多数数据是相同的,但是对于每个需要更新的用户,它有一些不同的数字。

我的问题是:

  1. 对这样一个网站使用OPCache是明智的吗?
  2. 它将如何处理具有独特查询的页面?与没有OPCache的运行相比,它是否需要更多的内存(为每个用户缓存多个页面)?
  3. 它会影响页面的性能,如登录/登录等吗?
  4. 我认为所有的朗读应用程序都应该使用OPCache,对吗?

该网站运行在PHP 7.3.4上。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-04-29 16:48:17

  1. 是的,它将提高性能。
  2. 如果您的内存使用量增加,并且您关心它,您可以通过opcache.memory_consumption微调内存消耗
  3. 影响意味着他们会更快
  4. 是的,除了边缘情况之外,没有理由不使用OPCache (例如,当应用程序的源代码以非常快的速度变化或测试时)。

产品代码应该始终启用OPCached。

票数 6
EN

Stack Overflow用户

发布于 2019-04-29 17:04:52

OPcache只缓存一个PHP脚本的内部操作代码表示,而不是它的输出。页面执行的查询或显示的内容对OPcache的行为没有影响。

这种缓存将提高所有PHP网页的性能。因此,应该始终在生产现场启用它。

票数 5
EN

Stack Overflow用户

发布于 2019-05-03 21:07:24

每个PHP脚本都是在运行时编译的,将人类可读的代码转换为机器可以理解的代码需要时间。

OpCache是一个字节码缓存引擎,它只将脚本编译一次到字节码脚本--因此您将节省时间--然后预编译脚本将存储在内存中,这将导致在您的PHP应用程序中提高性能。

我认为您缺少的是opcache不缓存脚本的结果,而是编译脚本。

注意,如果它自己正在为每个用户更改php脚本,或者它是从例如数据库加载的,则此方法是不好的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55787173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档