20.3. xinetd の概要

xinetd は、Turbolinux 11 Server が実装しているスーパーサーバーです。スーパーサーバーとは、他のサーバープログラムを管理/制御し、必要に応じてそれらのサーバープログラムを起動するプログラムです。文字通りスーパーな(上位の、超越的な)存在であるため "サーバーのサーバー" という意味でスーパーサーバーと呼ばれます。サーバープログラムは、スーパーサーバーによって起動するのではなく、個々のサービスを直接起動し、デーモンとして常駐させておくこともできます。このガイドでは、このような起動方法をスタンドアローンモードでの起動と呼んでいます。Web サーバーの Apache やメールサーバーの Postfix などは、スタンドアローンモードで起動します。一方、スーパーサーバーによって起動する方法をスーパーサーバーモードでの起動と呼びます。Turbolinux 11 Server では ipop3、imap などのサービスが xinetd から起動するように設定されています。

20.3.1. スーパーサーバーのメリット

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

システムの負荷軽減

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

システム管理の負荷軽減

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

システムの冗長性/堅牢性の向上

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

20.3.2. スーパーサーバーのデメリット

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

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

20.3.3. xinetd の特徴

Turbolinux 11 Server が採用しているスーパーサーバー xinetd の特徴としては、以下のものがあげられます。