2度目のGoogle砲でアクセスが急増
12月8日に公開した下記のブログが思わぬ形でアクセスを集めて大変なことになりました(サーバのリソース的に)
いわゆるGoogle砲とは Google Discover の機能によりAndroid端末上にコンテンツをおすすめしてくれることなのですが、有用な情報として狙って書いたものではなかったため驚きが大きかったですね。
月曜日の午前中に何かがあった模様
スマホにWordPressのアプリを入れているため、アクセスが集中したりすると教えてくれるのですが、普段は通知があっても大した変化ではないので気にしないでいたのですが、ふと Google Analytics を見てみるとリアルタイムアクセス数がとんでもないことになっていました😅
アクセス増の原因は?
どうやらアキバブログの中の人が私のツイートをリツイートしてくださったのが直接の原因ぽいです。リツイート時間が午前8時で、アクセスが増え始めたのが8時台ということで間違いなさそう。インフルエンサーによる記事の紹介とかも普段はないのですが、このリツイート一回で数百のアクセスがあったわけで、確かに今どきのブログ集客戦略としてSNSが無視できないわけだと実感させられました。
そして正午に一気にアクセスが爆発。それこそ、この零細ブログの平時にアクセス規模を数十倍のオーダーで上回るアクセスが日付が変わっても続いていました。
アクセス増で嬉しい悲鳴
でも、サーバはマジで悲鳴をあげていた模様
はい、サーバ過負荷で逝ったー。アクセスが集中しすぎてメモリ不足になってしまったようです。この時点でWordPressがデータベースエラーで表示されなくなっていました。
サーバにリモートログインしようにも負荷が高すぎてログインも満足にできない状態。さくらのVPSのコントロールパネルからなんとかrootログインしてリブートかけて対策を施しました。
Apacheのパラメータを変更してメモリを食い潰さないようにする対症療法を施しました
現在WebサーバとしてはApacheを使用しているのですが、プロセス数のパラメータが大きすぎたようなので、メモリをオーバーしないよう最大値を50まで落として様子を見ることに。
まぁ、明らかにApacheのパラメータ設定の誤りですね。メモリ食いの状態でプロセスをガンガン作るpreforkで動かしてれば、こんな爆発的なアクセス捌ききれるわけがなかったわけです、反省。これからは身の丈にあった運用を心がけますよ、ええ、ホントに。
上記のサイトなど参考に、プロセスの上限数を下げました。
#00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 50
ServerLimit 50
MaxClients 50
MaxRequestWorkers 50
MaxRequestsPerChild 1000
</IfModule>
こうしてようやく夜間の継続的なアクセスもなんとかしのぎきることができました。定期的に重くなったりして表示がなかなかされない状態はありましたら、サーバが落ちるような状態は避けることができました。
nginxの導入も検討するべきか?
WordPressメインで運用するなら、Apacheからnginxへの乗り換えというのも検討すべき課題であると感じました。ローカル環境で試すだけ試してみて、環境移行のシミュレーションはしておいた方がいいかも知れません。現在のApacheでは気軽に試せないHTTP/2にも興味がありますし。
Google砲の影響はおよそ2日間程度、今は落ち着き平常運転
この記事を書いている時点ではアクセスは平常通りのお寂しい状態となっています。でもまあ、予想せずにアクセスが急増すると焦ってしまうこともありましたし、サーバ設定の拙い部分が露呈してしまって恥ずかしいやら。
今年2回目のGoogle砲ではありましたが、今回は1回目に比べて規模が圧倒的に大きかったため、いろいろ想定外のこともありましたが、良い経験になりました。
狙ってこのようなアクセスを生み出すのは決して簡単ではないですが、参考になるような良いネタがあったら、また頑張って書いてみようかなとモチベーションはあがりました。
この前に、念願のGoogle Adsenseの関連コンテンツ解放などもあったのですが、それはまた改めてまとめようと思います。
バズったあとの平坦なグラフは見てて悲しいので、趣味中心の話題ではありますが、今後も更新頑張ります!
コメント