スーパーサーバ

スーパーサーバ（super server）とは、他のサーバープログラムを管理／制御し、必要に応じてそれらのサーバープログラムを起動するプログラムである。文字通りスーパーな（上位の、超越的な）存在であるため "サーバーのサーバー" という意味でスーパーサーバーと呼ばれる。

サーバープログラムは、スーパーサーバーによって起動するのではなく、個々のサービスを直接起動し、デーモンとして常駐させておくこともできます。このガイドでは、このような起動方法をスタンドアローンモードでの起動と呼んでいます。

Webサーバーの Apache やメールサーバーの Postfix などは、スタンドアローンモードで起動します。一方、スーパーサーバーによって起動する方法をスーパーサーバーモードでの起動と呼びます。 Turbolinux 11 Server では ipop3、imap などのサービスが xinetd から起動するように設定されています。

スーパーサーバーのメリット 
スーパーサーバーモードでサーバープログラムを起動する理由は、スーパーサーバーの機能や役割を知ることで理解できます。

システムの負荷軽減 
個々のサーバープログラムをスタンドアロンモードで起動すると、サーバープログラムはそれぞれがメモリに常駐するため、多くのメモリを必要とします。しかし、それらのサーバプログラムは常に利用されているわけではありません。スーパーサーバーモードで起動すると、スーパーサーバーがサーバープログラムの代理としてメモリに常駐し、ポートの監視を行います。そしてリクエストがあったときに、そのポートに対応するサーバープログラムを起動するため、メモリ使用量とシステムの負荷を軽減することができます。

システム管理の負荷軽減 
個々のサーバープログラムをスタンドアローンモードで起動する場合、各サーバープログラムを個々に管理しなければなりません。システム管理者は、今後もさらに増えていくであろう多種多様なサーバープログラムに対応していく必要がありますが、そのすべてを個々に管理することはもはや非現実的であり、一元管理／制御できるスーパーサーバーの役割は必須の機能となります。

システムの冗長性／堅牢性の向上 
スーパーサーバーモードでサーバープログラムを起動すれば、あるサーバープログラムのサービスが何らかの理由で正常に機能しなくなっても、次の要求によって再起動され、システムの冗長性／堅牢性を向上させることができます。

スーパーサーバーのデメリット 
デメリットとしては、リクエストを受け付けるたびにサーバープログラムの起動／終了が行われるため、次のような場合は逆に負荷が高くなりパフォーマンスが低下します。

 頻繁に接続要求を受け付けるサービスの場合
 プログラム起動時の初期化作業に時間がかかる場合

このような負荷のかかるサービスの場合は、スタンドアローンモードで起動する方が効率が良いと言えます。その代表的な例としては、Web サーバーのように頻繁に接続要求を受け付けるサービスです。メールサーバーも同様の理由でスタンドアローンモードでの起動が推奨されるサービスとして位置付けられます。

実装 
 inetd 
 launchd 
 systemd 
 ucspi-tcp 
 xinetd 

サーバ