2015年に一度ブログがアクセス集中の警告を受けたで、使っているレンタルサーバーミニバードの運営元であるネットオウルからアクセス集中の警告を受けたという記事を書きました。
昨日、これに続きこのブログで2度目のアクセス集中の警告を受けてしまいました。
高いCPU負荷の警告
「お客様のサーバーアカ ウントに対する高いCPU負荷について」というタイトルのメールでしたが、内容的には
お客様のサーバーアカウントにおいて、CPU負荷が著しく高い状況が確認されましたのでお知らせいたし ます。
11/18 xx:xx頃 高い負荷を検知しました。
事後のご連絡となり大変申し訳ございませんが、お客様のサーバーアカウントへのWebアクセスを一時的に制限しておりました。
※現在はWebアクセスの制限を解除しております。
とのこと。
現状Webアクセスの制限は解除されているものの、以下のようにリソース的な制限は依然として残っているようです。
同収容サーバーをご利用のお客様への悪影響が懸念されたため、
お客様のサーバーアカウントに対し下記の制限を個別に設けており ます。▼サポートにて実施した制限内容
—————————— —————————— ———-
・同時に実行可能なプロセス数(プログラム数)の制限を強化※当制限下においては、CGI、 PHPプログラムへのアクセスが集中した際に
リソース制限エラー(500エラー)が発生しやすくなります。
—————————— —————————— ———-
何らかの負荷軽減対策が必要
メールでは
早急に負荷軽減対策を行っていただきますようお願いいたします。
CPU負荷対策を行っていただきましたら、
お客様がなさった負荷対策の詳細を必ずサポートまでご連絡くださ い。
と書かれていますので、今回は何らかの負荷軽減対策を行ってそれを報告する必要があるようです。
前回のようにどこか外部から異常なアクセス集中があったのであれば、それをブロックすることで対策となる可能性もありますが、今回はAnalyticsやアクセスログを見た限りではそういうアクセス元は無さそうでした(むしろいつもの土曜日よりアクセス数は少なかった)。
対策としてメールでは
- キャッシュプラグインの導入
- PHP7への変更
が提案されていましたが、ミニバードにPHP7導入。その効果は?で書きましたようにPHP7は既に導入済みです。
負荷軽減対策案 検討
キャッシュプラグイン導入
このブログで使っていますテーマSimplicityはキャッシュプラグインとの相性があまり良くないらしいので、今までキャッシュプラグインの使用は避けてきました。
しかし今回は数少ない選択肢の1つですので、一応導入を検討してみました。
その結果、WP Fastest Cacheというプラグインが比較的設定が簡単であり、Simplicityの作者わいひらさんによる使い方の解説記事もあることがわかりました。
初心者にも扱いやすいWordpressキャシュプラグイン「WP Fastest Cache」の使い方
これを受けて実際に導入を試みたのですが、うちのサイトのWordPressはマルチサイト構成になっており、それに対応していないということで残念ながら動きませんでした。
他のキャッシュプラグインの情報も調べましたが、Simplicityではコードを書くなどして調整しないと完全には動かないようですので、ここで心が折れました。
WordPress Popular Postsの使用中止
とはいえ何もしないわけにもいきませんので、最後の手段として以前からサーバーに負荷をかけるといわれて気になっていましたプラグインWordPress Popular Postsの使用を中止することにしました。
これはページ毎のアクセス数情報を収集して人気記事の表示などに利用するもで、このブログでもサイドバーの人気記事リストの表示で使用していました(Simplicityのウィジェットが自動的に利用)。
ただ、人気記事リストの表示はブログ内の巡回を促しますので、できれば残しておきたいところです。
そこで人気記事リストを表示する代替手段を探したところ、Google Analyticsの情報を使う方法と
参考:サーバー負荷が軽い!人気記事ランキングを作る「Simple GA Ranking」の設定方法
Jetpackの統計情報を使う方法が見つかりました。
参考:WordPressでサーバーの負荷(CPU使用量と転送量)軽減のためにやった10のこと | いつも空が見えるから
Google Analyticsを利用する方法は最初の設定がちょっとややこしいらしく、またこのブログではJetpackを既に導入済みでしたので、とりあえず後者を利用することにしました。
上記の記事ではJetpack Post Viewsというプラグインを利用されていましたが、このブログではとりあえずリストさえ表示できればいいということで、「人気の投稿とページ(Jetpack)」というJetpack純正と思われるウィジェットを利用するに留めました。
もうちょっと凝った表示がしたくなったら、また別のウィジェットの利用などを検討してみたいと思います。
WordPress Popular Postsを停止した後は、心なしかサイトが軽くなったような気がしないでもありません。
とりあえずこれでネットオウルに報告してみようと思いますが、はたしてどうなりますでしょうか。