スーパーサーバ
スーパーサーバ(super server)とは、他のサーバープログラムを管理/制御し、必要に応じてそれらのサーバープログラムを起動するプログラムである。文字通りスーパーな(上位の、超越的な)存在であるため "サーバーのサーバー" という意味でスーパーサーバーと呼ばれる。
サーバープログラムは、スーパーサーバーによって起動するのではなく、個々のサービスを直接起動し、デーモンとして常駐させておくこともできます。このガイドでは、このような起動方法をスタンドアローンモードでの起動と呼んでいます。
Webサーバーの Apache やメールサーバーの Postfix などは、スタンドアローンモードで起動します。一方、スーパーサーバーによって起動する方法をスーパーサーバーモードでの起動と呼びます。 Turbolinux 11 Server では ipop3、imap などのサービスが xinetd から起動するように設定されています。
スーパーサーバーのメリット
[編集]スーパーサーバーモードでサーバープログラムを起動する理由は、スーパーサーバーの機能や役割を知ることで理解できます。
システムの負荷軽減
[編集]個々のサーバープログラムをスタンドアロンモードで起動すると、サーバープログラムはそれぞれがメモリに常駐するため、多くのメモリを必要とします。しかし、それらのサーバプログラムは常に利用されているわけではありません。スーパーサーバーモードで起動すると、スーパーサーバーがサーバープログラムの代理としてメモリに常駐し、ポートの監視を行います。そしてリクエストがあったときに、そのポートに対応するサーバープログラムを起動するため、メモリ使用量とシステムの負荷を軽減することができます。
システム管理の負荷軽減
[編集]個々のサーバープログラムをスタンドアローンモードで起動する場合、各サーバープログラムを個々に管理しなければなりません。システム管理者は、今後もさらに増えていくであろう多種多様なサーバープログラムに対応していく必要がありますが、そのすべてを個々に管理することはもはや非現実的であり、一元管理/制御できるスーパーサーバーの役割は必須の機能となります。
システムの冗長性/堅牢性の向上
[編集]スーパーサーバーモードでサーバープログラムを起動すれば、あるサーバープログラムのサービスが何らかの理由で正常に機能しなくなっても、次の要求によって再起動され、システムの冗長性/堅牢性を向上させることができます。
スーパーサーバーのデメリット
[編集]デメリットとしては、リクエストを受け付けるたびにサーバープログラムの起動/終了が行われるため、次のような場合は逆に負荷が高くなりパフォーマンスが低下します。
- 頻繁に接続要求を受け付けるサービスの場合
- プログラム起動時の初期化作業に時間がかかる場合
このような負荷のかかるサービスの場合は、スタンドアローンモードで起動する方が効率が良いと言えます。その代表的な例としては、Web サーバーのように頻繁に接続要求を受け付けるサービスです。メールサーバーも同様の理由でスタンドアローンモードでの起動が推奨されるサービスとして位置付けられます。