先月、7月末にテレビ由来のバズがあり500サーバーエラーが起きてしまうほどの集中的なアクセスがありました。当ブログ史上、最大級のバズです。
同時期に、同じくエックスサーバーを使っている方が集中的なアクセスからのアクセス制限を受けたとの記事を拝見していたのですが、なぜかうちはお咎め無し・・・
なんで何も言ってこないんだ!?
と思いながら何もないまま10日あまりが過ぎた8月10日、なんと同じ記事が再びテレビ由来でバズ!!
しかも7月末よりもアクセスが集中し500サーバーエラーを頻発!
そして届きました。
エックスサーバーから「【重要】Xserver お客様のサーバーアカウントに対する集中アクセスの発生および制限の実施について」という1通のメールが・・・!
お客様のサーバーアカウントにおいて、上記ドメイン名への集中アクセスにより8/10 19:40頃~19:42頃まで、サーバー全体のCPU負荷が非常に高くなっておりました。
~中略~
なお、この度同様の集中アクセスが発生した場合、同一収容サーバーをご利用の他のお客様に対する悪影響が懸念されるため、お客様のサーバーアカウントに対して、以下の制限を設けております。
▼サポートにて実施した制限
————————————————————
・同時に実行可能なプロセス数(プログラム数)の制限を強化※当制限下においては、CGI、PHPプログラムへのアクセスが集中した際にリソース制限エラー(500エラー)が発生しやすくなります。
————————————————————お手数ではございますが、早急に負荷軽減対策を行っていただきますようお願いいたします。
メールに記載されていた通り、制限を受けた後は500エラーが頻発するようになりました。
ブログを書こうにも、管理画面を操作(記事作成→保存など)をするたびにエラーが起きるのは辛かった・・・
「これは早急に制限解除してもらわなければならない!」
ということで「CPU負荷の軽減対策」を行うことにしました。
有難いことに、エックスサーバーからのメールには負荷軽減対策方法も具体的に掲載されていました。
負荷軽減対策の中にはサイトの表示速度改善にも役立つものがあるので、この情報をシェアしたいと思います!!
なお、Wordpressを使用していることを前提としていますのでご了承ください。
負荷軽減対策
プログラムの実行回数を減少させるための対策
キャッシュプラグインの導入
「Quick Cache」や「W3 Total Cache」などのキャッシュプラグインを使って負荷を改善します。
「W3 Total Cache」はバズ部でも利用をオススメしてるプラグインです。
「WordPress Popular Posts」プラグインの停止
上記キャッシュプラグインが有効に機能しなくなる場合があるので利用を停止します。
また、記事にアクセスするたびにプログラムが実行され、負荷がかかるようです。すごく便利なプラグインなんですけどね・・・止めるのが惜しい・・・
プログラム処理そのもののCPU使用量を減らす対策
「PHP高速化設定(FastCGI)」および「APC」「OPcache」の導入
エックスサーバー独自の対策方法になりますが、エックスサーバーの管理画面から「PHP高速化設定(FastCGI化)」および「APC」「OPcache」を有効にすることで負荷を軽減できます。
他のレンタルサーバーをお使いの方は・・・自分で調べてね。
アクセス集中を軽減する対策
『mod_pagespeed』の使用
これもエックスサーバー独自の対策方法になりますが、管理画面から『mod_pagespeed設定』にて該当ドメインにおける設定を【有効】へ変更します。
この『mod_pagespeed』は「ファイルの圧縮」「画像の変換」「同種ファイルをまとめて通信回数の削減」「キャッシュ有効期間の延長」などの最適化処理を行うものです。
他のプラグインを利用して同様の最適化処理を行うことも可能です。好きな方法をチョイスしましょう。
CDNサービスの導入
コンテンツデリバリーネットワークと呼ばれるサービスを利用する方法です。
WordPressユーザーであれば、Jetpackプラグイン内の「Photon」を利用するのが一番手軽です。
CDNサービス(Photon)を使うと、画像のように容量の大きなファイルをCDNから引っ張ってくることで、アクセス分散およびサーバー負荷を軽減することができます。
ただ、あまりアクセスが多くない場合は効果が出ない場合もあるそうです。
なお、Jetpackプラグインを利用する際にはWordpress.comへの登録が必要となります。
「Jetpack を利用するには、サイトが公開されていて、アクセス制限がかかっていない必要があります」というエラーが表示された場合は、エックスサーバー管理画面の『WordPressセキュリティ設定』にて「XML-RPC API アクセス制限」を【OFF】にする必要があります。
CSS Spriteの利用
「CSS Sprite for Google PageSpeed」というプラグインを導入します。
これについてはちょっと試してないのでノーコメント。
CSSスプライトというのは細かく分かれている画像ファイルをひとつにまとめて、表示させたい画像をCSSで指定する、っていうやつだと思います(曖昧・・・)
100個の小さいファイルを呼び出すより1個の大きいファイルを呼び出すほうが速いよ、ってことだったと思います。
負荷状況の改善→制限解除
上記のいくつかの方法を試すことにより、エックスサーバーからの制限は無事に解除されました。
バズなどのアクセス集中はどのタイミングで起こるかわかりません。サイト運営、ブログ運営に支障のない範囲で、常日頃から負荷軽減を意識しようと思った、そんな出来事でした。
なお、今回ご紹介した方法はすべての人に効果があるかどうかはわかりません!
自己責任でお願いします。
それにしても、何度も迷惑をかけてしまってエックスサーバーさん、ゴメンナサイ。
こんな大きいバズにも耐えてくれて、しかもこんな丁寧なサポートをしてくれるレンタルサーバーさん、オススメしない訳にはいきません!!
独自SSLも無制限で使えて月額1,000円の超強力レンタルサーバー「エックスサーバー」、サーバーを検討している方には是非おすすめです!
コメント