WordPressのチューニングが必要な理由と高速化の方法とは?

こんにちは。「クロジカサーバー管理」コンサルティングチームの西原です。

WordPressは、活用が増大している状況です。高速化が求められるバックグラウンドや高速化のよりどころとなる、基本的な分析方法であるページのロード時間・1秒間当たりの同時アクセス数に関しての要点などに触れていきます。

高速化が求められるバックグラウンド

「WordPress」は、高い開発生産性・Web標準を意識したソースコード・デザインやユーザビリティに優れる管理インターフェースといったメリットが特徴となっています。その一方、PHPとMySQLベースで構成された動的なCMSソフトウエアであるため、静的なHTMLで構成されたWebサイトと比較すると、パフォーマンスにおいて有利ではありません。

それだけでなく、ここ数年におけるCPUの開発ロードマップでは、周波数(動作クロック)4GHz付近を限度にコア数を増大させる方向にむかっていることから、WordPressと同様の単一プロセス逐次実行の実装では、従前のようにCPUを中心としたハードウエアの高性能化を理由として、処理速度がレベルアップすることを期待することが困難であるため、絶対的な動作速度をレベルアップできない環境となっています。このような背景によりWordPressを活用するWebサイトにおいて、どのように動作を高速化して機会損失を防ぐのか、またユーザーエクスペリエンス・検索エンジン最適化の観点からも高速化が重要なものとして扱われるようになってきています。

高速化とはどんなことか

WordPressを高速化する領域として、まず挙げられるのはサーバーサイドにおける高速化です。これは、ブラウザーから送られるHTTPリクエストをサーバーサイドで処理してHTMLを生成して、ブラウザーにHTTPレスポンスとして戻ってくるまでの処理時間に関連する領域です。

次に、フロントエンドにおける描画の高速化です。これは、HTTPレスポンスとして一番初めに受信したHTMLを起点として、CSSの展開やJavaScriptを遂行するプロセスを含む、ブラウザーにおいてのレンダリングにかかる処理時間に関連する領域となります。

ページのロード時間と同時アクセス数

ページのロード時間は、ブラウザーがHTTPリクエストを送ってから、サーバーサイドで処理が実行されて、ブラウザーにHTTPレスポンスとしてHTMLが受信されるまでの時間を意味しており、同時アクセス数とは1秒間当たりに実行処理できる回数になります。ページのロード時間と1秒間当たりの同時アクセス数は相互関係に置かれています。仮にCPUのコア数を1(1コア)としたアプリケーションサーバーで動作している場合、ページのロード時間が500ms(ミリ秒=1000分の1秒)であった場合、敢えて細部を省略して考えると1秒間当たりの同時アクセス数は1000msを500msで割り算して「2」となります。

※ここでは、ページのロード時間から通信時間を無視しており、実行時間についてはきわめて短い時間に1アクセスのみが発生した際の最大性能で考えることとします。

高速化することでページのロード時間を50msまで縮めて短くできたとすると、1秒間当たりの同時アクセス数は、1000msを50msで割り算して「20」になります。このままサーバーのCPUのコア数を4に変更すると、1秒間当たりの同時アクセス数は「80」になりますが、ページのロード時間は50msのまま変化しません。

遂行するプロセスは直列処理であるため、コア数が増加したとしても遂行するプロセスが並列に処理されないため、1秒間当たりの同時アクセス数は増加しますが、ページのロード時間そのものは短縮されません。結局のところ、遅かったWebサイトの処理に要する時間が短縮されるわけではありません。ページのロード時間は、ブラウザーでレンダリングが開始されるまでの時間ということもできるため、ユーザーエクスペリエンスや検索エンジン最適化を考察するときに判断の根拠となる一定の立場からも、1秒間当たりの同時アクセス数の基準になるというポイントオブビューからも重要となります。

ページのロード時間の構成要素

ページのロード時間を構成する要素を個別に高速化することでWordPress自体が高速化されます。

  1. HTTPリクエストの通信時間
    ブラウザーからHTTPリクエストが送られてアプリケーションサーバーに届くまでの時間です。
  2. PHPを遂行するプロセスにかかる時間
    アプリケーションサーバーにおいてWordPressを構成しているPHPを遂行するプロセスにかかる時間です。
  3. MySQLを遂行するプロセスにかかる時間
    アプリケーションサーバーまたはDBサーバーにおいてSQLクエリを遂行するプロセスにかかる時間です。
  4. 翻訳処理を遂行するプロセスにかかる時間
    WordPressは公用語に英語が定められている地域で開発されたソフトウエアであるため、メッセージに関しては全て英語となっています。私たちが見ている管理画面などにおける日本語のメッセージは、全てリアルタイム翻訳処理がされた結果となります。翻訳処理のコスト(時間)は英語版以外のWordPressにおいては、一般的基準とくらべてみたときに大きなものと判断されるために項目を分けており、厳密な意味ではPHPを遂行するプロセスにかかる時間の一部です。
  5. HTTPレスポンスの通信時間
    アプリケーションサーバーからのHTTPレスポンスがブラウザーに届くまでの時間です。

ページのロード時間短縮が重要

サーバーサイドにおけるWordPressの高速化は、ページのロード時間と1秒間当たりの同時アクセス数のコンセプトを認識することが重要です。その中でも特にページのロード時間を短縮することは、ユーザーエクスペリエンス・検索エンジンオプティマイズの観点から、また、1秒間当たりの同時アクセス数のベースを考察するときに判断の根拠となる一定の立場からも重要となるため、ページのロード時間を構成する要素のそれぞれを高速化することがWordPressの高速化につながります。

さいごに

WordPressを2倍以上の性能に高速化するチューニングすることによって、SEOとしての有効性と安全性の相対的評価が期待できます。ページ表示速度はSEOに影響をもたらすとしたGoogle社の発言が話題を集めたことによって、SEOを重視している企業からも注目されています。またモバイル環境における高速化も期待できるため、モバイル中心にビジネスを展開している企業からも注目されています。ページのロード時間を短縮することは、UX(ユーザーエクスペリエンス)のブラッシュアップへとつながります。

Webサイトのセキュリティ状況と対策がわかるサーバーセキュリティの無料診断サービスを実施中です。経験豊富なセキュリティ専門技術者が、サーバーの利用状況・表示速度・セキュリティ・リカバリー・個人データ保護の観点から診断して、詳細で分かりやすいレポートをもとに、検査結果と今後の対応策を提供いたします。

コーポレートサイトクラウドでセキュアに

コーポレートサイトをクラウドでセキュアに クロジカガイドブック

無料ではじめるサーバー管理
クロジカガイドブック

「クロジカサーバー管理」の詳しい内容がわかる資料をご用意しました。
  • コーポレートサイト構築・運用の課題を解決
  • クロジカサーバー管理の主な機能
  • 導入事例
  • 導入までの流れ

詳しい資料をご覧いただけます

クロジカサーバー管理のサービス内容を記載した資料をダウンロードできます。
クロジカの機能や事例が分かる
資料ダウンロード