ExpressionEngine页面最佳的查询数量是多少?

11

我看到了 @parscale 的推文:主页的查询量多少才算满意?什么时候说它已经优化了?

我看到了一些回复,认为小于50是好的,30或更少是最好的,100以上则是危险区域。但是真的有恰当的数字吗?如果说你的页面上确实运行了超过50个查询,有什么方法可以将其减少?

我的网站通常在50个查询以下,还有一些更多的查询,但这些“更多”的查询似乎并不太慢,我总是很想让它跑得更快。如何做呢?

6个回答

11

1
不,我不这么认为。我的基本安装单入口页面模板只包含文本而没有图像,并且使用SEO Lite和Stash使用了26个查询。这不包括导航或列出其他条目等任何内容。 - Tyssen

7
记住,并非所有查询都是相同的。你可以有1000个查询,对性能影响很小,或者一个单独的查询会减慢整个过程。
在EE中,实际上更好的做法是查看模板调试输出并确定模板构建中的关键缓慢点,而不是仅仅关注查询数量。
正如其他人指出的那样,像CE Cache、Solspace's Template Morsels这样的产品,甚至在EE网站前面加入一个Varnish缓存服务器,都可以产生奇效。但是,要完全将Varnish设置在EE设置的前面需要额外的工作,所以我目前会首先使用其他解决方案/方法。

6

并没有一个神奇的查询数字。在我看来,你的服务器环境决定了可以支持什么。你拥有越多资源,你的代码就可以更复杂。

话虽如此,在EE网站上出现问题时,您可以使用许多选项。上面答案中的链接给出了一个可靠的列表,但这里是一些要检查的首要事项:

  1. 删除search:field_name=""参数
  2. 减少频道标签的使用,如果可能,将它们结合起来
  3. 添加disable=""参数以禁用不需要的频道选项卡
  4. 减少嵌入的使用
  5. 关闭所有EE跟踪代码
  6. 如果在频道标记内部,请停止使用高级条件

6

继Nevin的观点之后,我发现JB Graphite是一个巨大的帮助,它将调试输出转换为漂亮的图形,因此您可以轻松地发现瓶颈查询。

http://devot-ee.com/add-ons/jb-graphite


4

我会详细解释一下MediaGirl提到的第6点 - 通过使用Croxton的Ifelse和/或Switchee插件,您通常可以大大简化条件语句。绝对值得一看。


3
我在一个非常庞大的建设项目上使用了CE Cache,它将页面加载时间从6秒降低到0.7秒。这是一个令人惊叹的插件,拥有令人难以置信的文档和最好的支持服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接