【问题标题】:Reducing the overhead of $html->url calls in CakePHP application减少 CakePHP 应用程序中 $html->url 调用的开销
【发布时间】:2011-11-24 10:42:40
【问题描述】:

我们有一个旧的(用 CakePHP 1.1 编写的!)应用程序已经开始在其责任的重压下呻吟,因此我们在一些顾问的帮助下对其进行了全面检查。

他们发现的“速赢”之一:由于多次调用 $html->url,某些页面的速度明显下降。无论出于何种原因,我们目前没有使用路由,甚至在将来也不太可能需要反向路由,使用 $html->url 可能只是为了在这里增加开销。无论如何,我脑海中出现的一些问题:

(1) 在可能的情况下以“蛋糕方式”做事是否会更好,即使这会更慢?将 HTML 帮助程序用于可能未被考虑的链接还有其他优点吗?

(2) 我们计划在某个时候升级到更新的 Cake 版本,可能一直到 2.0。目前使用 HTML 帮助程序的缓慢是否可能更多地与处于 Cake 1.1 中而不是天生糟糕的设计决策有关?

只是对人们对这个主题的普遍看法感兴趣:我们是否应该去掉 HTML 助手的繁琐使用?

【问题讨论】:

    标签: performance cakephp html-helper


    【解决方案1】:

    升级到 CakePHP 2.0 肯定会提高速度。但是请注意,从 1.1 到 2.0 的升级路径并不顺利。预计会进行大量手动编辑。

    至于对 $html->ur() 的多次调用,您可能会发现这很有用:

    http://debuggable.com/posts/how-to-save-half-a-second-on-every-request-of-your-cakephp-app:49a69610-8648-4d65-815d-754c4834cda3

    【讨论】:

      【解决方案2】:

      我宁愿考虑:

      • 重写 HtmlHelper::url()。如此简单的函数竟然对性能产生了影响,真是令人惊讶。考虑使用未来版本的版本。
      • 缓存视图(或元素,或将它们提取到元素中,然后缓存),这样它们就不会在每个请求中触发。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-22
        • 1970-01-01
        • 1970-01-01
        • 2012-02-12
        • 1970-01-01
        • 2023-03-11
        相关资源
        最近更新 更多