gpt4 book ai didi

php - 复杂的表达式引擎模板 : possible to render <=1 second?

转载 作者:行者123 更新时间:2023-11-29 00:46:18 24 4
gpt4 key购买 nike

据我所知,我已经优化了一个复杂的 ExpressionEngine 模板,但我仍然希望渲染时间低于 1 秒,无论我需要进行应用程序级别的调整还是服务器级别的调整。

有问题的页面是 195 个项目的网格,每个项目都有多个一对多关系(客户、供应商、办公室等)实际显示和可过滤。这些关系由 Playa 维护。

未缓存:16.0904 秒,50.11MB,5264 次查询

应用级缓存后:2.0793 秒,28.37MB,476 次查询

下降的主要原因是 EE 的模板缓存、标签缓存和 channel “禁用”参数(根据此 EE Wiki Optimization article) .

这一切都发生在具有 512MB 内存的 MediaTemple DV4 (LAMP) 服务器上,我想这会以这种速度被摧毁。生产站点流量为每天约 4K 次页面浏览。

到目前为止,我唯一的想法是只加载特色项目并异步保存(较大的、最初隐藏的)内容 block 。我不喜欢这个想法的唯一原因是对 SEO 的潜在影响。每个项目都有一个详细信息页面,所以这可能不是问题,但似乎这些都是索引的有用信息。

有什么安全的方法可以在不破坏 ExpressionEngine 核心的情况下将我的最短页面呈现时间降低到不到一秒?我只是让自己失败了吗?

最佳答案

这就是异步加载的优势所在……如果您担心 SEO 影响,请添加一些分页链接,然后在初始化 AJAX 内容时使用 javascript 隐藏这些链接。恕我直言,超过 5k 个未缓存的查询是完全不能接受的。每天有 4k 的浏览量,有些人会受到这种破坏缓存的网页浏览量的打击,这不会很好!

无论...

我的猜测是缓存后剩余的大部分查询都来自 Playa。它进行很多查询。将 cacherefresh 参数直接添加到 Playa 标签对将进一步帮助您。

如果您愿意购买附加组件来提供帮助,我强烈推荐 CE Cache .它将通过为您收集全部内容并将其作为文件缓存在数据库中或通过一系列其他流行的服务器级缓存机制来取代您的所有 native 缓存。

祝你好运。 :)

关于php - 复杂的表达式引擎模板 : possible to render <=1 second?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10436626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com