503エラーの原因はアクセス過多?復旧にかかる時間や解決のためにWeb屋がやっている対処法

WEB制作_その他

あなたはサイトやブログを運営しているなかで、突然「503 Service Unavailable」「Service Temporarily Unavailable」などのエラーメッセージが表示されたことはありませんか?

先日、サイトのページスピード(表示速度)を測定したときに、「修正を考慮:」の項目に、「サイトの応答時間を短縮する」と表示されているサイトがあったので、503エラーが出ていないかサーバーの管理画面から調べてみると、案の定、何回か503エラーが表示されてしまっていました。

ずいぶん前に作ったまま放置していたサイトが原因だったので、少し修正を加えました。

そこで今回は、503エラーが出たときの復旧方法や、503エラーが出てしまう原因などをご紹介します。

503エラーとは?

Service Temporarily Unavailable

サイトへ訪問した際に、「503 Service Unavailable」「Service Temporarily Unavailable」「http error 503. the service is unavailable.」などのエラーメッセージが表示され、サイトへアクセスできなかったことはありませんか?

このメッセージは「503エラー」と呼ばれる、サーバーから返されるHTTPステータスコードのひとつです。

「サーバーへの同時アクセス数の制限を超えているため、訪問者の閲覧を制限している」状態のときに表示され、このメッセージが表示されている間は、一時的にサイトが閲覧できません。

503エラー|サーバーへの同時アクセス数の制限を超えているため、訪問者の閲覧を制限している状態

もし、あなたがECサイト(ネットショップ)を運営しているなら、訪問者は商品の購入ができませんし、ブログを運用しているなら、読んでもらいたくてもブログは表示されません。

「一時的なエラーなら時間をおいてアクセスすればいいのでは?」と思うかもしれませんが、大半の人は1度アクセスできなかったサイトにもう一度アクセスしようとはしないのです。

つまり、あなたのビジネスにおいて大きな機会損失を放出している状態が「503エラー」なのです・・・!

最近ではSNSなどのソーシャルメディアが普及してきたため、いきなり爆発的にアクセスが集まるサイトというのも珍しくありません。

そして、近年、503エラーが表示されているWebサイトが増えているのです。

なぜ、503エラーというメッセージが発生してしまうのか?

そして、503エラーが発生した場合、どのように対処すればいいのか?

今回は、503エラーが表示される回数を減らし、あなたのビジネスチャンスを逃さないために私たちWEB屋がやっている対処法をご紹介します。

この問題解決のカギは、実は「適切なレンタルサーバー選び」と、「適切なサイト構成」にありました。

503エラーはなぜ発生するの?その原因はふたつあった?!

503エラーが出る理由は、主に以下の2つです。

  1. サイトへ“瞬間的”にたくさんの人がアクセスしている
  2. サイトの構造上、読み込み終了までに時間がかかり過ぎている

503error02

サイトへ“瞬間的”にたくさんの人がアクセスしている

ほとんどのレンタルサーバーでは、瞬間的にアクセスできる人数(同時アクセス数)を制限しています。

この同時アクセス数を制限することで、サーバーの安定的な稼働を実現しています。

そのため、レンタルサーバーが設定している同時アクセス数の限界を超えると、サーバーが自らそのアクセスを遮断してしまうのです。

これは共有サーバーで起こりやすいのですが、この共用サーバーは「1台のサーバーを複数のユーザーで利用することで、ひとりあたりの費用を下げましょう」という考えから生まれたサーバーです。

だれでも気軽にサイトを立ち上げられるように、「手軽に使える安いサーバーがあったらいいよね」というコンセプトで設計されたサーバーなのです。

そのため、基本的には共用サーバーは大きなアクセスを集めるようなサイト運用には向いていません。

サイトの構造上、読み込み完了までに時間がかかり過ぎている

こちらはWebサイトの構造が原因で読み込み完了までに時間がかかり、その結果、入場制限をかけられた人がたくさん発生している、いわば“渋滞”の状態です。

503エラーにおける同時アクセス数とはあくまでも、“サイトのデータが読み込まれるまでのアクセス”のことです。

サイトが表示されてしまえば、基本的にはサーバーからデータの送信はありませんので、読み込みが終わった訪問者の数は同時アクセス数に影響しません。

(※但し、サイト内の別のページに移動した際には、再度データの送信がおこなわれますので、同時アクセス数に影響します。)

たとえば、「テキストのみで構成されているサイト」と、「画像やFlashに、JavaScriptやPHPなどで生成した動的コンテンツ、jQueryをたくさん使った高機能なサイト」では、後者の方が読み込み完了までの時間がかかってしまうのは言うまでもありません。

後者のようなサイトで有名どころでいえば、人気のブログシステム(CMS)である「WordPress」で構築されたサイトがそれに該当します。

WordPressというCMSは、訪問者のアクセスに応じて毎回データベースにアクセスし、動的にページを生成する仕様になっているからです。

そして、503エラーが出てしまう原因として最も多い理由が、WordPressで構築したサイトがあげられます。

また、WordPressに限らず、動的ページを生成するサイトでは、訪問者の入場制限が発生しやすく、どうしても503エラーが出やすくなります。

503エラーが出たときの復旧方法(対処法)

503エラーが発生する原因は2つあるとご紹介しましたが、これらを解消してしまえば503エラーはなくなると言えます。

ここからは「503エラーが出てしまったときに、どうすればよいのか」をご紹介していきます。

契約サーバーの見直し

サイトへ“瞬間的”にたくさんの人がアクセスしていることが原因で503エラーが発生している場合は、契約しているレンタルサーバーの見直しが必要になってきます。

先ほども少しお話しましたが、共用サーバーを使っていると、どうしても503エラーは出やすくなってしまいます。

503error03

1台のサーバーを複数人で利用しているので、極端な話、同じサーバーを使っている別々の人のサイト同士が瞬間的なアクセス増を記録してしまうと、そのサーバーは大変なことになってしまいます。

そのため、レンタルサーバー会社は、「同時接続数に厳しい制限を付けないとダメだな」ということになってしまい、制限を超えるアクセスは503エラーが返されてしまうのです。

少し前までは、個人のホームページやブログが爆発的なアクセスを集めることは考えられなかったのですが、TwitterやFacebookなどのSNSが普及したことによって、個人でも爆発的なアクセスを集めることが可能になったのです。

特に、利用料が無料のサーバーや安さを売りにしている格安サーバーでは、同時アクセス数の上限も少ないので503エラーが出やすくなってしまいます。

これを解消するためにはレンタルサーバーの上位プランを利用するか、共有サーバーではなく専用サーバーで契約するなど、契約の見直しが必要です。

とはいえ、いきなり専用サーバを契約するには抵抗がある方も多いかと思います。

まずは共用サーバーの上位プランの検討やサイト構造の見直しなど、他の要因を解消してみてそれでも503エラーが解消されないという場合は、専用サーバを検討してみてはいかがでしょうか。

共用サーバーならここがおすすめ

※WordPressが利用可能なプラン以上を記載しています。

さくらのレンタルサーバ(さくらインターネット株式会社)
サーバー名称 さくらのレンタルサーバ
初期費用 1,029円
月額料金 月額 515円~
ディスク容量 100GB~
転送量 80GB/日~
コメント

さくらのレンタルサーバは個人的にイチオシです。

低コストでありながら高機能なサーバーなので、個人ブログから企業サイトまで幅広い用途に適しています。

実際にスタンダードプランで企業の広告運用をしても、503エラーが発生することはありませんでした。

エックスサーバー(エックスサーバー株式会社)
サーバー名称 エックスサーバー
初期費用 3,000円+税
月額料金 月額 900円+税~
ディスク容量 200GB~
転送量 70GB/日~
コメント

アフィリエイターさんの間で人気が高いエックスサーバー。

他のレンタルサーバーと比べると料金は少々高いのですが、それだけの価値はあると言えます。

WordPressに特化した『wpX』もおすすめです。

ロリポップ!(GMOペパボ株式会社)
サーバー名称 ロリポップ!
初期費用 1,500円+税~
月額料金 月額 250円+税~
ディスク容量 50GB~
転送量 60GB/日~
コメント

レンサバのなかで最も低コストなのがロリポップです。

一昔前は「ロリポップは遅い」などの酷評が多かったのですが、リニューアルされてからは表示速度も速くなり、他のサーバーともさほど変わらないくらい性能が向上されています。

初めてレンタルサーバーを契約する方などにおすすめです。

レンタルサーバを選ぶときにチェックしておきたい項目を『レンタルサーバー選びの5つの比較ポイント~集客に強いサーバーの選び方』でまとめているので、こちらも合わせてお読みください。

専用サーバーを検討するならここがおすすめ

CPI (株式会社KDDIウェブコミュニケーションズ)
サーバー名称 CPI
初期費用 92,000円~
月額料金 27,000円~
ディスク容量 100GB~
(SSD RAID1)
標準メモリ/最大メモリ 16~32GB/-
CPU/コア数 Xeon /4~12コア
マネージドサービス
コメント

CPIの専用サーバーは他社に比べると高額ですが、料金に見合った機能とサポート体制が充実しています。

高スペックなだけでなく、24時間体制で専任の担当がつくので導入から運営までしっかりとサポートしてくれるので安心です。

CPI専用サーバー

さくらのマネージドサーバ (さくらインターネット株式会社)
サーバー名称 さくらのマネージドサーバ
初期費用 無料~
月額料金 7,800円~
ディスク容量 180GB/(HDD RAID1)
標準メモリ/最大メモリ 2~8GB/-
CPU/コア数 Atom, Core i5, Xeon
マネージドサービス
コメント

さくらのマネージドサーバは他社と比較すると、スペックが若干低いのですが料金の安さと使い勝手の良さに定評があります。

特にマネージドサービスは標準対応なので運用面で重宝すると思います。

さくらのマネージドサーバ

WADAX (GMOクラウド株式会社)
サーバー名称 WADAXの専用サーバー
初期費用 58,000円
月額料金 18,150円~
ディスク容量 500GB/(HDD RAID1)
標準メモリ/最大メモリ 8GB/-
CPU/コア数 Xeon E3-1230V2/4コア
マネージドサービス ○(※プランによる)
コメント

専用サーバで人気の高いWADAX。

全プラン共通でサーバ監視、24時間365日サポート付き。

フルマネージドはエンジニア不在、セキュリティ、サーバ運営の問題をWADAX側で解決。

セルフプランはコストを抑えたい方向け。

セルフプラスプランはコンソール画面付き。

さらに、ハイブリッドモデルを選択すればHDD+SSDの構成で高速です。

専用サーバの比較表もご参考にしてください。

サイト構造の見直し

サイトの構造上、読み込み終了までに時間がかかり過ぎていることが原因で503エラーが発生している場合は、サイトの構成に問題があることが多いので、これを見直すだけでも解消される可能性が高いです。

実は503エラーが発生する原因としては、瞬間アクセス数の急増よりも、サイト構成に問題があることの方が多いので、サーバーの見直しの前にサイト構成を見直してみることをオススメします。

具体的な対処法としては、

  • WordPressサイトならキャッシュ系プラグインを導入する
  • 画像を適切なサイズに変更する
  • CSSやJavaScriptを圧縮する
  • サイトのHTMLを圧縮する
  • PHPのバージョンを上げる
  • CDNサービスを利用する

などがあります。

キャッシュ系プラグインを導入する

キャッシュ系プラグインを導入するだけでも、大きく改善される場合があります。

また、キャッシュ系プラグインを導入するとサイトの表示速度も速くなるので、503エラーが出ていなくても導入していて損はありません。

  • W3 Total Cache
  • WP Super Cache
  • ZenCache(Quick Cache)

このあたりがキャッシュ系プラグインでは有名どころです。

キャッシュ系プラグインは以前にも【W3 Total Cache】というプラグインの設定について紹介していますので、「【W3 Total Cache】のおすすめの設定方法」もご参照ください。

【追記】
以前はこのサイトでも「W3 Total Cache」を使っていましたが、不具合が多いことや他プラグインとの相性が悪いという報告が多かったので、現在は「WP Super Cache」をオススメしています。

画像を適切なサイズに変更する

画像を使っているサイトは多いかと思いますが、画像の表示方法を変えるだけでも大きく改善できる場合があります。

この画像サイズとはデータ容量のことですが、画質が良い写真などを使っているとデータ量が大きく、読み込みに時間がかかってしまいます。

WEBの場合、画質を多少落としたとしても、見た目にはまったくわからないくらいキレイな画像に圧縮することもできるので、写真などをたくさん使っているサイトの場合、画像の圧縮を試してみると良いでしょう。

画像を圧縮するなら、「compressor.io」が簡単です。

海外サイトですが、ドラッグ&ドロップで画像の圧縮ができるので、使ってみてください。

また、最近、画像に関してGoogleが推奨しているものに「次世代フォーマットでの画像の配信」というものがあります。

次世代フォーマットには「JPEG 2000」、「JPEG XR」、「WebP」などがあります。

これらの画像フォーマットは、PNGやJPEGより圧縮性能が高く、ダウンロード時間やデータ使用量を抑えることができるのです。

JPEG 2000やJPEG XRは対応しているブラウザが1社ずつしかないため、わざわざ対応しなくても良さそうですが、WebPは対応ブラウザも多く、今後の対応は必須であると言えます。

WebP変換にはこちらのサイトがオススメです。

SYNCER WEBP変換ツール

CSSやJavaScript、HTMLを圧縮する

次に、CSS/JavaScriptの圧縮、HTMLの圧縮ですが、これはWordPressの場合、プラグインでも対処できるので、「Autoptimize」を導入してみてください。

(WP Super Cacheでも圧縮可能です。)

また、WEBサービスでも「Online JavaScript/CSS/HTML Compressor」という圧縮できるサイトがあるので、ぜひ、使ってみてください。

※たまにJavascriptの組み方に問題があって処理に時間がかかっている場合もありますので、併せてこのあたりも確認してみるといいでしょう。

PHPのバージョンを上げる

意外と見落としている方も多いのが「PHPバージョン」です。

PHPはバージョンが新しくなるにつれて処理速度も改善されるため、古いバージョンを使っている場合は最新バージョンに切り替えることをオススメします。

また、脆弱性の改善などセキュリティーの面から考えても、最新バージョンを使うことがおすすめです。

ただし、PHPのバージョンを上げるときは、その前にWordPress本体、テーマ、プラグインの更新と、バックアップを作成しておくことをお忘れなく。

PHPのバージョンが変わって対応していない関数がそのまま使われていると、サイトが真っ白になって正常に表示されなくなるなど、思わぬバグが発生することもあるため注意が必要です。

CDNサービスを利用する

CDNとは「コンテンツ・デリバリー・ネットワーク」の略で、画像や動画などのコンテンツを複数サーバーに配置することで負荷を分散させる仕組みのことです。

503エラーの要因である「ページの読み込みに時間がかかり過ぎている」というのは、画像や動画が多すぎてサイトが重くなっていることがほとんどです。

これらを別のサーバーから呼び出すようにすることで、サイトにかかる負荷が分散されるため、503エラーが発生しにくくなります。

ただし、CDNを利用すると外部ファイルとなるため、「Fancybox for WP」などの一部プラグインは機能しなくなるため、実際に使うときは注意しましょう。

CDNでおすすめなのは「CloudFlare」という無料サービスです。

海外のサービスなのでサイト内はすべて英語ですが、Google翻訳などを使えば大丈夫かと思います。

503エラーが発生していることに気付かないケースも多い!

あなたが機会損失に“気付けない理由”

この記事をお読みいただいている方の中には、「自分のサイトで503エラーが表示されたことを見たことがないから大丈夫だ」という方もいるかもしれません。

しかし、それはもしかすると、「503エラーが発生していない」のではなく、「気付いていないだけ」なのかもしれません。

というのも、503エラーは、アクセスを瞬間的に集めている時に表示されるものだからです。

そのため、503エラーの表示を確認するには、503エラーが出ているタイミングでWebサイトにアクセスして目視で確認する必要があり、そのタイミングでサイトをみていない場合、サイトオーナーは503エラーに気付かないのです。

また、残念ながら503エラーは、Google Analyticsなどのアクセス解析ツールでは記録されません。

サイトが読み込まれるときに解析ツールのタグも読み込まれますので、そもそもページへアクセスできない503エラー発生時は、解析ツールは動作しません。

そのため、解析ツールだけでは発見することはできません。

(※サーバーの管理画面から503エラーの発生回数は確認できます。)

サイトの集客がうまくいかないのは「503エラー」が原因かも

ここまでお伝えしてきたように、503エラーが表示されている間は一時的にサイトが閲覧できなくなってしまうことで、以下のようなデメリットが発生します。

  1. Webサイトの内容が見られないため、訪問者が逃げてしまう
  2. TwitterやFacebookなどのソーシャルメディアでシェアされなくなる
  3. 商品の購入ができない(ネットショップの場合)
  4. 買い物の途中に、商品ページが表示されなくなる(怪しいサイトと思われる)
  5. サイトが表示されないため、「このサイトは閉鎖された」と誤解されてしまう

このように503エラーが発生すると“Web集客に多大な影響がある”といえます。

とくに、TwitterやFacebookなどのソーシャルメディアで自分のサイトが取り上げられた時に、この503エラーが出てしまっていると、興味をもって訪問してくれた人をガッカリさせるだけでなく、本来はもっと拡散されていた可能性があるのに、そのチャンスを失ってしまうことになります。

現代のネットユーザーは、日々、膨大な情報に触れているため、一度エラーが出たサイトの存在は記憶に残らず、二度と訪問してくれない場合も多々あります。

だからこそ、なるべく503エラーを出さないWebサイトの運営が必要になってくるのです。

503エラーの発生を防ぐためのおさらい

ここまで、503エラーが発生する原因と、対処法についてお話してきましたが、最後にもう一度おさらいしましょう。

503エラーが出る2つの理由は

  1. サイトへ“瞬間的”にたくさんの人がアクセスしている
  2. サイトの構造上、読み込み終了までに時間がかかり過ぎている

503エラーが発生した時の対処法は

  • 契約しているレンタルサーバーの見直し
    • 安価を売りにしているサーバーを選ばない
    • 同じレンタルサーバーの上位プランへ変更
    • 専用サーバーへの移行
  • サイト構造の見直し
    • WordPressサイトならキャッシュ系プラグインを導入する
    • 画像を適切なサイズに変更する
    • CSSやJavaScriptを圧縮する
    • サイトのHTMLを圧縮する
    • PHPのバージョンを上げる
    • CDNサービスを利用する

ただの固定コストとして見過ごされがちなレンタルサーバーですが、サーバーを正しく選ぶことは、攻めの戦略にも通じます。

機会損失による安物買いの銭失いにならないよう、今回の記事の内容はぜひ憶えておいてくださいね。

コメント