サイトにアクセスすると、「503 Service Unavailable」や「Service Temporarily Unavailable」といったエラーが表示される場合がある。これは、大きく分けて次の2つの原因が考えられる。

 (1)CPU使用率のオーバー
 (2)セッション数オーバー

「(1)CPU使用率のオーバー」に関しては、Q&Aのページに記載しているので参考にしてください。

このページでは、「(2)セッション数オーバー」に関して記載します。

最大同時セッション数25の制限

HostGatorでは、1アカウントあたりの最大同時セッション数が25と定められています。よって、25セッションが使用されている状態で、26人目がサイトにアクセスした場合、26人目の人は空きのセッションができるまで一時的に「503 Service Unavailable」エラーが表示されてしまいます。(25セッションまでは正常に表示されます。)

ここで注意して欲しいのが、1ドメインあたり25セッションではなく、1アカウントあたりです。よって、1アカウントにドメインを大量に掘り込んでいる方や、アクセス数の多いサイトをいくつかある方は発生する可能性があります。

このMAX25セッションは少ないのでは?と思ってしまいがちですが、意外にそんなことはありません。そのサイトへのアクセス時間が24時間均等にあるのか、夜だけに集中しているかなどによっても異なりますが、おおよその目安としては5万/日くらいまでは耐えられます。

それを超える場合は、所有しているサイトのどこかで「503 Service Unavailable」エラーが発生している可能性があるので気を付けましょう。

この最大同時セッション数25の制限は、共有サーバー(Web Hostingプラン)、リセラー(Reseller Hostingプラン) のみになります。VPSと専用サーバー(Dedicated Hosting)は、上限を設けられていないので、「503 Service Unavailable」が発生する方は、これらのプランへ変更するか、共有サーバー(Web Hostingプラン)を複数申し込み、分散させるかのいずれかが対策になります。

※補足1
セッション数と書いているが、正確に言うとプロセス数です。「プロセス」とは何?と言われる方が多く説明が面倒だったのでセッション数(接続数)と言っています。

セッション数とプロセス数は下記のような違いがあります。

 セッション数:TCPセッションが確率されている本数
 プロセス数:対象アカウントが実行しているプログラム実行数

セッション数に置き換えて記載しているのは、大きな差がないためです。例えば、1ユーザがサイトにアクセスすると、HTTPサーバーであるApacheは、リクエストに応答するために子プロセスを作成します。よって、通常は1セッション(接続)=1プロセスとなる。

ただ、問題はcronなどを利用している場合は、大きな差がでるので注意が必要です。例えば、cronでPHPのプログラムを実行している場合、cronのプロセスが1つ、更にcronによって実行されるPHPのプロセスが1つ、更にこのPHPがMySQLなどのデーターベースを使っていればMySQLのプロセスが1つ、計3つのプロセスを使用することになります。

誰もアクセスしていないのに、cronによる定期実行で3プロセスが使われます。こういった場合は差が出るので注意して下さいね。

※補足2
メール接続にIMAPを使用している場合

IMAPは、セッションを維持しようとするため、必然的にプロセスが増えやすくなってしまう。そのため、HostGatorでは、15~19のプロセスが稼働している場合、5分以上継続して動いているIMAPプロセスがある場合は、古いIMAPプロセスから自動的に停止されていく。ユーザーが、メールの送受信をすると再度プロセスが起動するので、ユーザーはプロセスが停止されていようがなんら意識することはない。

更に20以上のプロセスが動いている場合は、自動停止までの時間が5分から2分へとなり、より上限の25に達し難いようにしている。