SORA

「503」が表示されて、ページにアクセスできなくて
これって何が?原因なんだろうか……

HIKARI

「503エラー」とは、HTTPステータスコードの一つで、

「503 Service Unavailable」と表示されて、
日本語に訳すと「サービスが利用できません」との意味合いになりますね!

HIKARI

要するに、ページにアクセスが集中してしまって、
処理が追いつけなくなってしまった!サーバー側で表示させているものになる!

503エラーとは?

アクセスが集中してることで、一時的に制限がかかりアクセスできなくなっている状況

WEBサイトにアクセスしたときに、このように表示されることはありませんか?

  • 「503 Service Unavailable」=サービスは利用できません
  • 「503 Service Temporarily Unavailable」=サービスは一時的に利用できません

この「503 Service Unavailable」の表示で、
「落ちたー!」「サーバー障害だぁ」と、いわれる方もいますが、

実は、サーバーがダウンしている訳ではありません。
アクセスが多発しているので、503エラーの表示するけど、なにか?」ということ!

503エラーは、アクセスが集中することで、サーバーに影響を与えない為に、
一定のアクセス数の増加することで、瞬間的にアクセスできる人の数を制限しています。

「制限」によって、503エラーが返されてコンテンツにアクセスできない仕様に!

要するに、アクセスが多すぎる(高トラフィック)の時には、
サーバーの処理がパンクしないように、予めアクセスできる人数の制限を設定していますね!

503エラーが表示される原因は?

503エラーの原因は2っ
  • 同時アクセス数の制限値に達してしまったため!
  • サーバーの負荷が原因で「遅延状態」になっているため!
同時アクセス数の制限値

一般的なレンタルサーバーでは、
サーバーの処理能力に伴って、「制限値」を設定していて

要するに、共用で利用するので、
基本的に、少しでも平等に使えるように「制限」を設けているということ!

収容人数、転送量、同時アクセス上限数など、
いろいろ設定値がある仕組みになっていて、サーバー会社によって制限値も異なってきます

当然、そうなると、価格帯も比例していきますね!

その中でも、「同時アクセス数の制限」を設けているレンタルサーバーも多く、
制限に達することで、「503 Service Unavailable」となる仕様に!

同時アクセス数(同時接続数)とは

Webサイト(サーバー)に、同時に接続しているユーザー数の数値
一定の時間(瞬間)に、同時にアクセスできる数値が決められているということ

レンタルサーバーでは、この同時アクセスの上限を定められていて、
同時アクセス上限数を超えると、拒否(503エラー)される仕組みになっている

負荷によって「遅延状態」に

また、CGIなどプログラムの影響によって負荷がかかってしまうケースもあります。

サーバーに負荷を与えてしまって、読み込みに時間が掛かり「遅延状態」になってしまったことで、トラフックが渋滞することで、アクセスが拒否されて「503エラー」になる場合もある

サーバーの過負荷状態は、

要するに、上限数を超えたり、サーバーに、一定の負荷が発生した場合は、
アクセスされても、503表示がでて、エラーとなり、一定時間サイトが表示されなくなります。

503エラーを防ぐ為の対策

  • サーバーの過負荷の原因を調べる
  • 負荷を軽減するためのWEBサイトの構成にする
  • WEBサイトの構成によって負荷が発生している
  • 契約しているレンタルサーバーの見直しする

「503 Service Unavailable」が、発生している現状にもよりますが、
リソースが不足してる?プログラムの不具合?アクセス制限値?

サーバーの過負荷の原因を調べる

サイトの構築によったトラブル(不具合)で、一時的にサーバーに負荷が発生させている場合は、プログラムの内容を確認して、不具合を取り除く必要があります。

原因は、一概に言えませんが、例えば、

トラブル(不具合)
  • 「.htaccessファイルの記述に誤りがある」
  • 「CGIやPHPなどの設置に過大な負荷が大きい」
  • 「CGIやPHPなどの動作不良プロセスある」
  • 「WordPressの内部のトラブル(プラグイン)など

「.htaccess」ファイルの記述が間違ってる場合は、基本的には「500 Internal Server Error」が表示される場合が多いですが、記述内容によってサーバー過負荷を発生させることも考えられる!


WEBサイト構成によって、「CGIやPHP」が重たいプログラムによって、過重な負荷が発生して「遅延状態」が続くことで、アクセスに制限か発生してしまう!

また、「CGIやPHP」などの動作不良プロセスによって、負荷を与えてしまう場合もある
サーバーに、著しく負荷をかけるようなプログラム


WordPressを利用されている方も多いと思いますが、プラグインが高負荷の要因になる場合もあります。

負荷を軽減するためのWEBサイトの構成にする

「CPU・メモリ」使用率によって、すぐに限界を超えてしまい「遅延状態」が続くなど
WEBサイトの読み込みから完了するまでの時間が掛かってしまうケースもある

サーバーへの負荷自体を減らすために、「キャッシュ」の技術を取り入れてることで、データの転送量や転送速度を向上させてサーバーへの負荷を軽減させることができます。

例えば、Wordpressの場合であれば、キャッシュ用のプラグインもありますし、
画像ファイルのサイズを小さくすることでも、読み込み速度を上げることもできます。

契約しているレンタルサーバーの見直し

アクセスが多くなってきたことでが原因で、503エラーが頻繁に発生する場合は、
レンタルサーバーの見直しが必要になってきて、

レンタルサーバーのプランの変更で改善できる場合もありますが、
基本的には、アクセス状況によって、見合うレンタルサーバーを選ぶことになる!

爆発的なアクセスがある場合は、共用サーバーでは耐え切れず、「専用サーバー」を借りることも視野に入れる必要でてきますね!


まとめ

サーバーのリソースが不足して、

同時アクセス上限数を設けることで、特定の負荷の高いサイトは、表示のリクエストを遮断して、エラー画面(503エラー)を、表示させる仕組みになっている。

一時的の「503エラー」が、頻繁に発生しているのに、それ自体、気がついていないパター!

せっかく、アクセスが集まってきているコンテンツになってきたのに、
WEBサイトにアクセスできないのは致命的です。注意が必要だね!