我的永久链接结构的性能如何?


14

我已经在wp黑客邮件列表,此论坛以及Google周围阅读了有关不同永久链接性能的讨论。

但是,我不能真正推断出我过去几年使用的永久链接结构是否良好:

/%postname%-%year%%monthnum%%day%.html

该组合将邮编直接放在/后面,并且年,月,日组合更加独特,因为许多邮编具有相同的名称。过去10年来,我一直在博客中使用html(甚至是pre wordpress),所以这是很久的。

我不知道这是对性能的好还是对性能的不利,我该如何检查?

(我运行博客已有10年了,大约有10.000个帖子,其中包含许多链接)

链接:

  1. http://codex.wordpress.org/Using_Permalinks

  2. http://www.google.com/search?q=wordpress+category+permalink+performance

  3. http://ottopress.com/2010/category-in-permalinks-considered-harmful/

  4. http://lists.automattic.com/pipermail/wp-hackers/2010-October/035458.html

Answers:


8

您可以通过查看数据库中rewrite_rules选项的大小来进行检查。如果它很小(我认为应该采用这种结构),那么您就不会使用冗长的规则。相反,如果您在每个静态页面上看到几行,则说明您使用的是冗长的规则,这并不好。


不幸的是...每个静态页面GRIN都有几行。因此,这可能不是一个很好的永久链接结构...嗯...这确实解释了我之前收到的错误消息“ WordPress数据库错误有一个大于'max_allowed_pa​​cket'的数据包”,我不得不在MySql中增加此设置。
edelwater

再说一次...如果您在几年中继续添加页面,无论如何...您都会自动获得max_allowed_pa​​cket ...除非您恢复为非漂亮的永久链接...(我认为)如此...以便在未来30年内可扩展: )我可能将不得不恢复到非常漂亮的永久链接。我认为。
edelwater 2010年

1
只要您使用的是非详细规则,页面,附件和自定义帖子类型规则都是通用的。因此,漂亮的链接在实践中是非常安全的,只要它们使用的是非详细结构即可。
Denis de Bernardy 2010年

1

我否决了接受的答案。重写规则的复杂性绝不是衡量文章查找性能的标准。

特别是,以帖子名称开头的永久链接似乎很糟糕;参见http://codex.wordpress.org/Using_Permalinks#Structure_Tags

在没有研究Wordpress代码的情况下,我可以想象它们以某种方式索引了职位。因此,永久链接中使用的变量应从左到右从最通用到最具体的变量排序。这种启发式强烈支持标准年/月/名称或类别/名称。


1
category/name如果存在大量页面,则实际上已知并确认会导致性能问题。它与查找速度没有太大关系,而与推导正确的对象服务无关,而重写规则的复杂性完全相关。
拉斯特

您可以提供文件/代码参考吗?我只是略读了代码(wp-include/rewrite.phpwp-include/query.php); 虽然看起来确实很糟糕,并且不必要地复杂,但看起来基本上是收集并标识了零件,然后将其直接插入SQL查询中。我仍然不明白为什么不同的订单需要更长的时间。但是,在执行db-query时,必须执行多个联接,并且这里的顺序确实很重要。我似乎还记得MySQL在优化连接顺序方面特别糟糕。
拉斐尔

我不太了解数据库理论,但是您必须保持产品较小。在任何情况下,这都可能是一个错误,因为它的编程效率不高。
拉斐尔

2
法典给出“一些提示”(请参阅​​法典),但没有具体说明完整的算法。但是,它的确指向ottopress.com/2010/category-in-permalinks-considered-harmcomox.textdrive.com/pipermail/wp-testers/2009-January/…总的来说,最佳实践之间存在某种摩擦性能改进领域中URL黑客在人机交互和性能领域的应用。
edelwater

1
感谢您的指针ottopress。它消除了更改约定的局面,使每个页面url都以开头,/page/每个发布URL都以开头/post/,从而消除了歧义。您应该能够自己执行此操作,将固定文本添加到永久链接结构中。无论如何,这可能是个好决定。如果我在FOO类别中有一个帖子BAR,而在FOO的子页面中有一个页面BAR,该怎么办?都可以通过/foo/bar/采用%category%/%postname%方案来解决。还是在全球范围内独一无二?
拉斐尔

0

仅针对工作流程质量检查:

答案是:不,这不是关于性能的良好的永久链接结构。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.