1. WordPressで作ったサイトへのアクセスが増えてきました。負荷対策としてできることはありますか?

WordPressで作ったサイトへのアクセスが増えてきました。負荷対策としてできることはありますか?

WordPressで運用中のウェブサイトの場合、アクセスが増えるとともに下記のような状況が発生します。

  • CPU負荷が増加する
  • 転送量が増加する
  • 突発的なアクセス集中が発生し、HTTPリクエストが多く発生する

昨今、お客様にて運用中のWordPressがテレビや大手ポータルサイトで紹介されることにより、突発的にアクセスが集中し、サーバー障害へとつながってしまう事例が確認されております。

一例ではありますが、下記にそれぞれの対策を記載しましたので、負荷上昇に備え、事前に対策を行っておくことをお勧めします。

※本解説において具体的なプラグイン名を記載しておりますが、エックスサーバービジネスでは各プラグインの開発には携わっておらず、これらプラグインの具体的な操作方法に関するご案内や、プラグインのご利用にて生じた不具合の解消に関する技術的なサポートはいたしておりません。

各プラグインはお客様ご自身の責任で導入してください。

CPU負荷への対策について

CPU負荷とは、プログラム処理によりサーバーのCPUを使用することで発生します。

そのため、CPU負荷対策としては、

  • プログラム処理で発生するCPU負荷そのものを減らす
  • キャッシュプラグイン(ページキャッシュ)の導入により、プログラムの処理回数を減らす

といった対策が有効です。

【1】プログラム処理で発生するCPU負荷そのものを減らす

下記のような方法があります。

  • サーバーパネルで「PHP高速化設定(FastCGI化)」を有効にする
  • 使用していないプラグインを停止する、もしくは削除する
  • プラグインの負荷状況を計測するプラグイン「P3 (Plugin Performance Profiler)」を利用し、負荷の大きいプラグインを同等の機能の、より負荷の少ないプラグインへ置き換える

また、運用中のWordPressに対して「コメントスパム」が多発している場合、コメントスパム対策を行うとともにデータベース上に登録されたスパムコメントを削除することで、主にデータベース負荷やメモリ使用量関連の負荷が削減されます。

【2】キャッシュプラグイン(ページキャッシュ)の導入により、プログラムの処理回数を減らす

キャッシュプラグイン「WP Super Cache」の「Use mod_rewrite」や「W3 Total Cache」の「Disk(enhanced)」を利用することで非常に大きな負荷軽減につながります。

転送量への対策について

WordPress内で容量の大きな画像・動画を掲載している場合やWordPressへのアクセスが非常に多い場合、転送量(データ通信量)が非常に大きなものとなってしまいます。

参考:サーバー仕様

転送量への対策としては、下記が有効です。

  • mod_pagespeed設定を利用する
  • CDNサービスなどを利用し、外部サーバーからデータを配信する
【1】mod_pagespeed設定を利用する

サーバーパネルより「mod_pagespeed設定」を有効にすることで、ファイルサイズの圧縮や画像の軽量化などの処理が実施され、転送量が削減されます。

※「Head Cleaner」や「EWWW Image Optimizer」などのプラグインでも同様の処理ができますが、「mod_pagespeed設定」のご利用により、より広い範囲の対策が可能です。

【2】CDNサービスなどを利用し、外部サーバーからデータを配信する

プラグイン「Jetpack by WordPress.com」の「Photon」を利用することで、記事内の画像などが外部サーバーからの配信に切り替わり、転送量の削減に効果があります。

また、CloudFlareなどのCDNサービスを利用した場合、ページ全体の画像やcss、Javascriptファイルなども外部サーバーからキャッシュが配信されることとなり、転送量対策として非常に効果があります。

なお、各サービスともキャッシュされるファイルの種類等が限定されており、CDNを利用しても動画は外部サーバーから配信されないケースなどもあります。
この場合、動画を動画投稿サイトから配信することもご検討ください。

突発的なアクセス集中への対策について

運用中のWordPressに対する突発的な集中アクセスによりブログ記事やそれに伴う画像、CSS、jsファイル(Javascript)なども含めたHTTPリクエストが増えた場合、リクエストが処理しきれず、サーバー障害の発生につながる恐れがあります。

HTTPリクエストを減らす対策としては、下記が有効です。

  • mod_pagespeed設定を利用する
  • CDNサービスなどを利用し、外部サーバーからデータを配信する
  • キャッシュプラグイン(ページキャッシュ)の導入により、WordPressを高速化する

キャッシュプラグインの導入そのものはHTTPリクエスト数自体の削減にはつながりませんが、WordPressの高速化にともないレスポンス速度が向上することにより、アクセス集中への有効な対策となります。