503エラーが発生する原因と対処方法

503エラーが発生する原因と対処方法

error503_cause_top

発生する503エラー「Service Temporarily Unavailable」とは?

自分のウェブサイトのアクセス数が増加していくと、遭遇するエラー画面に「Service Temporarily Unavailable」や「Service Unavailable」といった503エラーが発生します。折角アクセス数が増えてきたのになぜなんだ!や早くウェブサイトを復旧して、閲覧できる状況にして機会損失を無くさないといけない!という状況に陥ります。

今回は503エラーである「Service Temporarily Unavailable」や「Service Unavailable」の原因と解決方法をお伝えします。

Advertisement

503エラーの原因

HTTPステータスコードを定義した「RFC7231」では、503エラーは下記の定義になっています。

6.6.4. 503 Service Unavailable

The 503 (Service Unavailable) status code indicates that the server
is currently unable to handle the request due to a temporary overload
or scheduled maintenance, which will likely be alleviated after some
delay. The server MAY send a Retry-After header field
(Section 7.1.3) to suggest an appropriate amount of time for the
client to wait before retrying the request.

Note: The existence of the 503 status code does not imply that a
server has to use it when becoming overloaded. Some servers might
simply refuse the connection.

ザックリと翻訳すると、
HTTPステータスコード:503(Service Unavailable)は、サーバが過負荷のためリクエストを処理できなかったときに発生するエラー。またサーバーがメンテナンス中のときに表示するステータスコードに該当します。一部のサーバーはアクセスを拒否しているだけです。
という意味です。

早い話が主にアクセス数が増えた事(サーバーへの過負荷)が原因で、サーバーがアクセス自体を拒否しているということです。

慌てて503エラーの原因を確認する人がいますが、ほぼアクセス数の増加が原因。そのためサイト自体に問題や不具合が発生している訳ではない点に注意が必要です。

 

503エラーの解決方法

503エラーが表示されるときは、サーバーが許可しているアクセス数(同時接続数)の上限を超えています。

基本的な対応方法は

  • サーバーを増強する
  • キャッシュ機能を実装する

となります。

サーバーを増強する
対応策の1つ目は、サーバーが処理できる上限処理数を超えているのであれば、サーバー自体を増強して同時に処理できる数を増やせば良い!という考え方です。月額費用は増えますが非常に分かり易い対応ではあります。

キャッシュ機能を実装する
2つ目の対応策は、キャッシュ機能を実装してサーバーへの問い合わせ自体を減らす方法です。もしウェブサイトが WordPress などの CMS で構築しているのであれば、キャッシュ用のプラグインが提供されているので導入を検討しましょう。

 

また一時的なアクセスの急増に伴うエラーか、サイトが大きくなりユーザー数の増加に伴う慢性的なエラーかで対応が異なります。

一時的なアクセス数の急増に伴うエラーの場合

テレビや SNS でバズった、また Yahoo ニュースなどで取り上げられたことによる一時的なアクセス数の急増であれば、

  • アクセス数が一定数まで減るまで待つ

という対応もありえます。折角のアクセスを無にするのは勿体ないですが、コストをかけて対応するのも一苦労。であれば嵐が過ぎ去るまでおとなしく待つというのも有効な対応策になります。

慢性的なアクセス数の増加の場合(レンタルサーバー限定)

定期的に503エラーが発生する場合は、先ほど記載した基本的な対応であるサーバーを増強するか、キャッシュ機能を実装する対応が有力になります。ただレンタルサーバーの場合は、対応が厳しい場合も多いため、

  • レンタルサーバーのプランを上げる
  • 高負荷に耐えれる別のレンタルサーバーに移設する

を考えた方が良いです。

もし安いレンタルサーバーを借りて 503エラーが発生しているのであれば、コスパが良いエックスサーバーにサイトを移転する事をおすすめします。

エックスサーバーについては、別記事で説明しているので興味があれば確認してみてください。

 

503エラーは完全な機会損失のため勿体ないので、対応策を講じるにしても、別のレンタルサーバーに移るとしても早めに対応を打ちましょう。

Advertisement

さいごに

サイトにかかるコストは安くするべき!と断言される方が居ますが、
・サイト規模にあった環境(レンタルサーバーやVPSなど)
・サイトの適切な運用
を行わなければ本来得られる恩恵を損なう可能性があります。

管理を行っているサイトにより良い選択を行って503エラーに合わないことを祈ります。

 

この記事が気に入ったら
いいね ! をお願いします

Twitter で

web開発カテゴリの最新記事