サーバーが落ちた(正確には、制限をかけられた)ときの対処法、もとい、防止(高速化)のための方法です。
アクセス集中でサーバーが落ちるなんて他人事かと思っていませんか?
何かしら流行りそうなネタを書いていると、いつどこで大爆発が起きるかわかりません。期待していない時ほどやってくるものです。
先日、私も洗礼を浴びました。1時間で1万PVほどのペースでアクセスがあり、吹っ飛びました。記念に瞬間同時アクセス数のピークを見たかったんですが、タイミングが合いませんでした。
あら~・・・と思っていたら
これは本当にダメなやつ。アクセス制限というやつです。細かいことは置いておいて、とにかくサイトが見られなくなります。見られるようになった後も、「今後アクセスが集中したら早い段階で止めるよ」という状態が続くのです。
解除してもらうには、サイトの対策をする必要があります。
私はエックスサーバーを使っているのですが、このサーバーは大変素晴らしく、ちょっとやそっとで落ちることはないと評判です。確かにそうなんです。でも落ちるときは落ちます。
実際本当にストップが掛かったのは10分ぐらいで、あとは負荷次第ではサイトは見られる、という状況でした。
ただ、制限そのものが解除されたわけではなく、
「通常よりも転送容量(?)を落としますよ。処置をして頂いて、改善が見られたら元に戻します」
という状態になってしまいました。
この記事では、その対処法を紹介します。
※当日メールがきて即対処、それから1週間経って制限解除の連絡がきました。
期間は個人差があると思いますが、参考までに。
月額1,000円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
目次をタップすると見出しに飛びます
高速化でアクセス制限を事前に防ぐ方法
サーバーからアクセス制限を受けたとき、エックスサーバーのサポートからすぐメールが来ました。落ちてから10分です。すごいスピードですよね。
対処法として、3つの方法を提案されました。
- CDNサービスを使ってください
- キャッシュ系プラグインを使ってください
- mod_pagespeedを有効化してください
サイトの表示高速化でおすすめされている方法でもありますから、知っている方も多いと思います。
高速化は同時にサーバーへの負荷を少なくするので、サーバー側もサイト運営者にはぜひ対策をして欲しいことでもあります。
現状、それほど負荷が掛かっていない場合でも、これらを施せば、サイトの表示高速化に繋がるので余裕がある方はやってみてはどうでしょうか。
CDNサービスを使う
CDNサービスを使うということは、画像などのファイルを自分が使っているサーバー(私の場合はエックスサーバー)ではなく外部のサーバーから読み込むようにすることになります。
サーバーの負荷を減らすとともに、高速化にもつながるのでおすすめの方法です。
エックスサーバーから提案されたCDNのサービスの1つにCloudFlareがありました。
ただ設定がちょっとむずかしかったり、時々エラーが出ることもあるようで、やや不安です。私も以前に使っていたこともありましたが、やめました。
Photon(jetpack)が簡単
Jetpackというプラグインの機能のひとつに「Photon」があり、CDNサービスと同じことが出来ます。
これはボタン一つで有効化出来るので簡単でおすすめです。
Jetpackは、サイト統計情報(アクセス解析)が見られたり、SNSとの連携など便利な機能が豊富に揃ったプラグインです。「難しいことは苦手、まとめていろんな機能を使いたい」という人におすすめです。
W3 Total Cache(キャッシュ系プラグイン)を使う
キャッシュ系プラグインというのは、誰かがサイトを訪問したときに読み込んだデータの一部を保存しておいて、次回また訪問したときに保存したデータを読み込みませることでサーバーの負荷を軽減するものです。
なんだかややこしいですが、とにかくサーバーの負荷が減るから表示が早くなるよ、ということです。省エネ作戦的な感じです。多分。
設定が複雑ですが、バズ部にW3 Total Cache のおすすめの設定方法が載っています。
W3 Total Cacheでスマホの条件分岐が上手くいかないとき
スマホで見た時にPC用のものが表示されてしまうと困るときってありますよね。
PCではアドセンス2連発だけど、スマホは1つにしているとか。そんな状態でキャッシュ系プラグインを使うと上手くいかないことが。
そこで以下の設定をすれば解消されます。
1.管理画面の左「performance」の中から「User agent groups」を選択
2.「Enabled」にチェックを入れる
3.「Pass through」を選択
4.「User agent」にスマホの機種名を記入。
android
archos5
bada
bb10
blackberry9500
blackberry9530
blackberry9550
blackberry\ 9800
cupcake
docomo\ ht\-03a
dream
froyo
googlebot-mobile
htc\ hero
htc\ magic
htc_dream
htc_magic
iemobile/7.0
incognito
ipad
iphone
ipod
kindle
lg\-gw620
liquid\ build
maemo
mot\-mb200
mot\-mb300
nexus\ 7
nexus\ one
opera\ mini
s8000
samsung\-s8000
series60.*webkit
series60/5\.0
sonyericssone10
sonyericssonu20
sonyericssonx10
t\-mobile\ mytouch\ 3g
t\-mobile\ opal
tattoo
touch
webmate
webos
これでだいたいい足りるんじゃないでしょうか。
私はStinger6を使っていますが、今のところこれで異変はありません。
mod_pagespeedのメリット・デメリット
mod_pagespeedは、CSSやHTMLのあれこれを上手いことまとめて処理することで、サイトの読み込みを早くするものです。
エックスサーバーの管理画面からボタン一つで簡単に設定できるのでおすすめです。
ただ、デメリットがあり、CSSの変更などカスタマイズの反映に時間がかかるようになってしまったり、サイトのレイアウトが崩れてしまったりします。特に、スマホとPCで表示を分けていたりすると、何かしら不具合が出やすい気がします。
CSSの変更ぐらいなら、mod_pagespeedのONとOFFをその都度切り替えれば済みますが、レイアウト問題はそうもいきません。
今回、エックスサーバーに問い合わせたところ、
「おそらく」なので、確証はありません。
サイトの表示を確認して大丈夫であればON、崩れるようならOFFというの対処が無難ではないでしょうか。
WordPress Popular Postsを止めろ
上の3つの対策を施したところ、プラグイン「WordPress Popular Posts」も止めろと言われました。人気記事一覧なんかを載せるときに便利なやつですね。
WordPress Popular Postsを使っていると、W3 Total Cacheなどキャッシュ系プラグインや、その他高速化の処理がいまいちになるそうです。
ちょっと躊躇しましたが、人気記事一覧って意外とクリックされてないみたいなので止めました。それよりも、自分で勝手におすすめ記事一覧でも作った方が良いような気がします。
どうしても人気記事ランキングを使いたい人は、「Simple GA Ranking」というプラグインがあります。こちらは軽いです。
ただ、しつこいようですが、人気記事一覧ってあまりアクセスアップに貢献していないような気がします。自分で内部リンクを張り巡らせるなどして、訪れた人に対して自分が読んで欲しい記事をきちんと選んでアピールするほうが良いんじゃないかと思います。
まとめ
まだ正式な返事は来ていませんが、これで極端なサーバーの負荷がなくなったと判断されれば、アクセス制限が緩和されるようです。
ネット上の情報ではエックスサーバーは、瞬間最大3500アクセスでも耐えられるようです。
でも、これは状況によりけりです。サイトが軽ければもっと行くでしょうし、重ければもっと少なくても落ちてしまうでしょう。
上に挙げたような対策を予めしておけば、今回のようにサイトが落ちるなんてこともなかったかと思うと非常に残念です。
上位のプランにしても、瞬間的な負荷に対する強さはあまり変わらないみたいですから、個人が出来るのはやはり高速化に努めることです。
ただ、月額1000円で借りられるレンタルサーバーとしては群を抜いて素晴らしい数字です。
サーバー機能も凄いですが、何より対応の早さ、丁寧さがありがたかったです。わからないことも色々教えてくれます。
WordPressでブログを運営する以上、サーバー問題は避けて通れないものです。出来ることなら、トラブルにも親切なサポートをしてれるところが良いですよね。
月額1,000円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
うっかりテレビネタとか書いていると、ある日突然サイトが落ちます。気をつけてください。