超高速WordPress実行環境 KUSANAGI稼働中
本サイト処理速度
language

    WordPress3.2のダッシュボード高速化について調べてみた

    WordPress

    とうとうリリースされたWordPress3.2 ガーシュウィン(コードネーム)。英語版に続いて日本語版も既に公開されています。
    今回も新しいデフォルトテーマの Twenty Eleven を初めとして、いくつもの改良がなされています。

    その中で、個人的に地味ではあるけどありがたいのが、管理画面(特にダッシュボード)の表示スピードアップです。WordPress.orgの3.2紹介ビデオでの約50秒から1分にかけてのスピードアップについての紹介のくだりを見ていただければ、3.1系と比較して瞬時に表示されていることが見て取れます。

    今回は、その手法や仕様について調べて分かったことを書き連ねてみます。

    高速化の秘訣はキャッシュとAjaxリクエストの削減

    WordPress3.1のダッシュボード読み込みタイムライン

    WordPress3.1のダッシュボード読み込みタイムライン

    wordPress3.2のダッシュボード読み込みタイムライン

    wordPress3.2のダッシュボード読み込みタイムライン

    デフォルト状態のダッシュボードでは、RSSを読み取って表示しているブロックが、「被リンク」「プラグイン」「WordPress ブログ」「WordPress フォーラム」の4カ所存在しています。ところがRSSを読み取っての表示は、インターネットを介しての通信が発生するため、必然的に処理にかかる時間が遅くなってしまいます。

    3.1までのWordPressでは、この問題への対応策としてAjax化させて遅延表示にさせていました。
    また、Javascript実行環境判別のためか、クイック投稿ブロックにもAjaxを採用していました。

    この対応策の弊害として、ダッシュボードの表示には、ダッシュボード本体のリクエストの他にAjaxのリクエストが5回行われるというサーバにとってはありがたくない状態になっていました。(通常の5倍のアクセスがあると思って下さい。)(画像:WordPress3.1のダッシュボード読み込みタイムライン参照)

    これに対し、WordPress3.2では、4ブロックのRSSウィジェットの表示するHTMLそのものを12時間のキャッシュとしてデータベースに保存し、キャッシュが有効な場合はキャッシュデータを表示。これによって、毎回Ajaxのリクエストが発生しないようになっています。
    クイック投稿についても、Ajaxでの表示を止めて、直接HTMLを書き出す仕様に変更されています。
    これらの変更により、ダッシュボードでのリクエスト数も削減され、表示完了までの時間も短くなっています。(画像:WordPress3.2のダッシュボード読み込みタイムライン参照)

    そして何より、このAjaxリクエストを削減したおかげで、その分、サーバが別のリクエスト処理を行えることが助かります。

    一部のデメリットとして、プラグインの表示が12時間同じままになってしまうというのがありますが、メリットと比較すれば、微々たるものではないかと思います。

    簡単なまとめ

    • 3.2系のダッシュボードでは、RSSウィジェットで出力のキャッシュを用いて高速表示を実現している。
    • キャッシュの有効時間は12時間
    • キャッシュ化によりAjaxのリクエストが削減。サーバの負荷低減に寄与
    • プラグインの表示が12時間同一となる

    Webサイトのお悩み解決!個別相談会

    WordPress等CMSで構築されたサイトを運用中(もしくはご予定)で、様々な課題をお抱えの企業Webサイトご担当者様、「技術的にはよくわからないけれどマーケティング的にも改善をしたい」等とお考えのマーケティングご担当者様、「お客様のためにWebサイトについて聞きたい」「クラウドを導入したい」等お考えのWeb制作会社様などを対象に「【法人向け】Webサイトのお悩み解決!個別相談会」を開催しています。

    お客様の課題を解決するソリューション、
    条件に沿ったベネフィットあるご提案を提供いたします。

    ご相談・お問い合わせフォーム