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エラーはサーバーの上限処理数を超えているので、サーバーを増強するのが対応としては簡単になります。またサーバーの問い合わせを減らす方法としてキャッシュ機能を実装するのも手です。もしウェブサイトが WordPress などの CMS で構築しているのであれば、キャッシュ用のプラグインは提供されているはずです。

 

一時的なアクセス数の急増の場合

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

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

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

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

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

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

を考えた方が良いです。

ただし月間アクセス数が100万PVを超える場合は、レンタルサーバーでは厳しいです。そのため AWS や Azure などでサーバーを構築することも選択肢に加える必要があります。

Advertisement

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

Twitter で

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