据我所知,我已经优化了一个复杂的 ExpressionEngine 模板,无论我需要进行应用程序级别的调整还是服务器级别的调整,我仍然希望将渲染时间控制在 1 秒以下。
有问题的页面是 195 个项目的网格,每个项目都有几个实际显示和可过滤的一对多关系(客户、供应商、办公室等)。这些关系由 Playa 维护。
未缓存:16.0904 秒,50.11MB,5264 次查询
应用级缓存后:2.0793 秒,28.37MB,476 次查询
下降主要是由于 EE 的模板缓存、标签缓存和根据这篇EE Wiki 优化文章的通道“禁用”参数。
这一切都发生在具有 512MB 内存的 MediaTemple DV4 (LAMP) 服务器上,我想它会以这种速度被破坏。生产网站流量约为每天 4K 的综合浏览量。
到目前为止,我唯一的想法是仅加载特色项目并异步保存(较大的,最初隐藏的)内容块。我不喜欢这个想法的唯一原因是对 SEO 的潜在影响。每个项目都有一个详细信息页面,所以这可能不是问题,但似乎这些都是索引的有用信息。
是否有任何安全的方法,无需破解 ExpressionEngine 的核心,将我的最小页面渲染时间降低到不到一秒?我只是让自己失败了吗?