【问题标题】:Drupal ob_flush() slow and variable performanceDrupal ob_flush() 性能缓慢且多变
【发布时间】:2015-01-20 00:53:57
【问题描述】:

使用 XHProf 分析 Drupal 站点后。我看到 ob_flush() 调用的性能参差不齐,每页只调用一次。

首次加载页面 x

Function   Calls  Ex Wall  Wall %
ob_flush   1      1,712ms  39.5%

第二次加载页面 x

Function   Calls  Ex Wall  Wall %
ob_flush   1      270ms    24.5%

第三次加载页​​面 x

Function   Calls  Ex Wall  Wall %
ob_flush   1      300ms      25.3%

在 php.ini 设置中,我禁用了 out_buffering = 0,这似乎是对 Drupal 的建议

我看到其他 queries 对此没有提供明确的解决方案。

有没有办法提高这种性能?

【问题讨论】:

    标签: php performance drupal drupal-7


    【解决方案1】:

    在 Drupal bootstrap 之后,ob_flush 函数似乎受到了很大的影响。我启用了实体缓存模块,该模块将用户缓存到 APCcache 并休息到数据库(无法为其他实体禁用它)。缓存意味着查询数据要么被发送,要么从数据库中检索。这种减慢反映在 ob_flush 中,因为在内容没有完全生成/缓存或检索之前,它不能被刷新。

    禁用实体缓存模块后。现在我看到 ob_flush 消耗低于 300 毫秒,这仍然很高,但不像以前那样可变且非常高。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-14
      • 2015-01-27
      • 2021-06-04
      • 2016-11-09
      • 2021-06-21
      • 2012-05-11
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多