非常に多くのアクセス数を集められるサイト様のご依頼で、データベースの肥大化の解消と、その原因の調査、再発防止策を行いましたのでこちらのご依頼事例をご紹介いたします。
月間で数千万PVを集められるサイト様は、データベースの運用、プラグインの選定や設定によっては、一気にデータベースの記録数が増大してしまい、 Allowed memory size of XXXX bytes exhaustedというメモリエラーが出たり、最悪データベースの構造が壊れてしまうこともございます。
クライアント様のご相談・依頼内容
クライアント様は月間数千万PVも集める、ゲーム系のサイトを運営されている企業様でサーバー会社様からのデータベース肥大化の警告の後、Allowed memory size of XXXX bytes exhaustedというメモリエラーの頻発によるサイトの閲覧ができなくなる状態に陥られていました。
ワードプレスドクターでは、この原因の調査とご解決を行い、再発防止のアドバイスをさせていただきました。
ワードプレスのデータベースの肥大化の原因は?
お調べしたところ、下記の2点の原因でデータベースの肥大化、メモリ不足エラーが発生していることがわかりました。
●WP-Ranking PRO(アクセス解析プラグイン)のデータが5億件記録され 数十ギガになっている
●SNS COUNT CACHE(SNSのシェア数を前もって取得してキャッシュしてくれるプラグイン)のTransient値というワードプレスの特殊な一時記録データがプラグインの暴走によって、アクセスの度に数件増える(アクセス数が多いため一時間に数百万件増える状態となっていました)
このような現象は、アクセス数獲得がウェブサービスの主体となっていないサイト様ではなかなか顕在化しませんが、アフェリエイトサイト様、キュレーションメディア様、オウンドメディア様ではわずかな期間で顕在化し最悪サービス、サーバー会社からの強制的なサイトの停止処置や、こちらのクライアント様のようにメモリエラーの発生でサービス停止(サイトが表示されなくなる)こともございます。
問題のご解決と対策
ワードプレスドクターでは、原因追求の後に、WP-Ranking PROアクセス解析プラグインの過去のデータの削除と記録される期間の適切な設定を行いました。
SNS COUNT CACHEのTransient値の問題は、サーバーとの相性や巨大なアクセス数のあるサイトでの想定外のバグかと考えられますのでプラグインを直接カスタマイズしある特定のプラグインの機能を停止することで暴走を収めることができました。
原因の解決ののちに、データベースの値を消すだけでは取り除けないINDEXデータという不要なごみデータも最適化して取り除きまして、現在は高速にサイトが表示されデータベースの問題も起こらなくなりました。
アクセス数の多いサイト様でワードプレスのデータベースの肥大化が起こったら?
アクセス数の多いサイト様では、アクセス解析系のプラグインの導入と運用を特にお気を付けいただく必要がございます。ユーザーのアクセスの度にデータを記録するためすぐに数億件という巨大なデータとなってしまうからです。
プラグインの設定で、アクセスログの記録数や期間を制限される設定をされたり、外部サービス(Googleアナリティクス)を利用されることをお勧めいたします。
WordPress でアクセス数の多いサイト様でデータベースの容量が暴走したり、アクセス数対策のご提案も行っています。ご相談・ご依頼はこちらからお気軽にお送りください