パーマリンク構造のパフォーマンス?


14

私は、WPハッカーのメーリングリスト、このフォーラム、およびGoogleでさまざまなパーマリンクのパフォーマンスに関する議論を読みました。

ただし、過去数年間使用していたパーマリンク構造が適切かどうかは推測できませんでした。

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

この組み合わせでは、/とyear、month、dayの組み合わせの直後にポストネームを配置します。多くのポストネームには同じ名前が付けられているため、よりユニークになります。htmlの追加は、ブログで過去10年間(ワードプレス前でも)使用しているものなので、これはレガシーです。

これがパフォーマンスに良いのかパフォーマンスに悪いのかわかりませんが、どうすれば確認できますか?

(私は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

回答:


8

データベースのrewrite_rulesオプションのサイズを調べることで確認できます。それが小さい場合(この構造で必要だと思います)、冗長な規則を使用していません。対照的に、静的ページごとに複数の行が表示される場合は、冗長ルールを使用しているため、良くありません。


残念ながら...静的ページGRINごとに複数の行があります。したがって、これはおそらく適切なパーマリンク構造ではありません...うーん...これは、「WordPressデータベースエラーが「max_allowed_pa​​cket」より大きいパケットを取得しました」というエラーメッセージを説明しているため、MySqlでこの設定を増やす必要がありました。
エデルウォーター

それからまた...何年もページを追加し続けると、何でも関係なく自動的にmax_allowed_pa​​cketを取得します...かなりパーマリンクでないものに戻らない限り...(私は思う)だから...次の30年間スケーラブルに: )私はおそらく、非かなりパーマリンクに戻らなければならないでしょう。おもう。
エデルウォーター

1
ページで非冗長ルールを使用している限り、添付ファイルとカスタム投稿タイプのルールは一般的です。したがって、きれいなリンクは、非冗長構造を使用している限り、実際には非常に安全です。
デニスドバーナーディ

1

私は受け入れられた答えを拒否します。書き換えルールの複雑さは、記事検索のパフォーマンスを測定するものではありません。

特に、投稿名でパーマリンクを開始するのは悪いようです。http://codex.wordpress.org/Using_Permalinks#Structure_Tagsを参照してください

Wordpressのコードを調べていなくても、投稿が階層的にインデックス付けされていると想像できます。したがって、パーマリンクで使用される変数は、使用される最も一般的な変数から最も特定された変数の順に左から右に並べる必要があります。このヒューリスティックは、標準の年/月/名前またはカテゴリ/名前を強く支持します。


1
category/name大量のページが存在する場合、実際に既知であり、パフォーマンスの問題を引き起こすことが確認されています。ルックアップの速度とは関係なく、適切なオブジェクトを提供することを推測し、書き換えルールの複雑さ完全に関連しています。
ラースト

ドキュメント/コード参照をお願いできますか?私はコード(wp-include/rewrite.phpをざっと読みましたwp-include/query.php); 本当にひどく不必要に複雑に見えますが、基本的にはパーツが収集されて識別され、SQLクエリに直接挿入されているようです。注文ごとに時間がかかる理由はまだわかりません。しかし、db-queryが実行されると、いくつかの結合を実行する必要があり、ここでの順序は本当に重要です。MySQLは結合順序の最適化が特に悪いことを覚えているようです。
ラファエル

私はDB理論に深く入り込んではいませんが、製品を小さく保つ必要があります。いずれにせよ、これは可能な限り効率的にプログラムされていないという意味でのバグかもしれません。
ラファエル

2
コーデックスは「いくつかのヒント」(コーデックスを参照)を提供し、完全なアルゴリズムを特定しません。しかし、それはottopress.com/2010/category-in-permalinks-considered-harmfulcomox.textdrive.com/pipermail/wp-testers/2009-January/を指します。人間のコンピューターの相互作用とパフォーマンスの改善分野からのパフォーマンスのURLハッキングの。
エデルウォーター

1
ポインタottopressをありがとう。すべてのページのURLがで始まり/page/、すべての投稿のURLが/post/であるように規則を変更し、曖昧さをなくすようにします。固定テキストをパーマリンク構造に追加して、これを自分で行うことができるはずです。とにかく、これはおそらく良い決断でしょう。カテゴリFOOの投稿BARとFOOのサブページであるページBARがある場合はどうなりますか?両方とも/foo/bar/、%category%/%postname%スキームを想定して対処します。または、ナメクジは世界的に一意ですか?
ラファエル

0

ワークフローQAのみ:

答えは次のとおりです。いいえ、これはパフォーマンスに関する適切なパーマリンク構造ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.