Sun Java System Directory Server Enterprise Edition 6.3 配備計画ガイド

Directory Server が使用するシステムリソースの制限

表 6–2 では、Directory Server インスタンスによるシステムリソースやネットワークリソースの使用方法をチューニングするために使用可能なパラメータについて説明します。

表 6–2 システムリソースに対する推奨のチューニング方法

チューニングパラメータ 

説明 

属性 

dn: cn=config の属性 nsslapd-listenhost

Directory Server が待機する IP インタフェースのホスト名を設定します。この属性は複数の値を持つことができます。 

この属性を設定するには、ldapmodify コマンドを使用します。

デフォルト動作は、すべてのインタフェース上で待機することです。このデフォルト動作は、冗長性のあるネットワークインタフェースを使って可用性やスループットを高めるような、高ボリュームの配備に適しています。 

マルチホームシステム上に配備する場合や、IPv4、IPv6 の各プロトコルをそれぞれ個別のインタフェースを使ってサポートするようなシステム上で IPv4 または IPv6 トラフィックのみを待機する場合に、この値の設定を検討してください。SSL 使用時には、nsslapd-securelistenhost の設定を検討してください。

サーバープロパティー 

file-descriptor-count

Directory Server が使用できるファイル記述子の最大数を設定します。 

このサーバープロパティーを設定するには、dsconf set-server-prop コマンドを使用します。

デフォルト値は、Directory Server インスタンスが作られる時に、システム上の 1 つのプロセスに許可されるファイル記述子の最大数です。その最大値は、システム上の 1 つのプロセスに許可されるファイル記述子の最大数に対応します。詳細については、オペレーティングシステムのマニュアルを参照してください。 

Directory Server はファイル記述子を使用することで、クライアント接続を処理し、ファイルを内部的に維持します。利用可能なファイル記述子の数が十分でないために Directory Server が新しい接続の待機を停止する場合があることがエラーログから判明した場合、この属性の値を増やせば、Directory Server が同時に処理できるクライアント接続の数が増える可能性があります。 

システム上で利用可能なファイル記述子の数を増やした場合には、この属性の値もそれに応じて設定してください。このプロパティーの値は、システム上で利用可能なファイル記述子の最大数と等しいかそれより小さくなるようにしてください。 

属性 

dn: cn=config の属性 nsslapd-nagle

TCP パケットの送信をソケットレベルで遅延させるかどうかを設定します。 

この属性を設定するには、ldapmodify コマンドを使用します。

ネットワークのトラフィックを減らす必要がある場合には、これを on に設定することを検討してください。

属性 

dn: cn=config の属性 nsslapd-reservedescriptors

Directory Server がインデックス作成やレプリケーションなどの内部処理を管理するために維持するファイル記述子の数を設定します。そのようなファイル記述子は、「クライアント接続の処理用として使用することができなくなります」。

この属性を設定するには、ldapmodify コマンドを使用します。

次のすべてに該当する場合には、この属性の値をデフォルトの 64 から増やすことを検討してください。

  • Directory Server が 10 個を超えるコンシューマにレプリケートするか、Directory Server が 30 個を超えるインデックスファイルを維持する。

  • Directory Server が多数のクライアント接続を処理する。

  • Directory Server がクライアント接続に関係「しない」処理を行うためのファイル記述子が不足していることを、エラーログ内のメッセージが示唆している。

確保済みファイル記述子の数が増えると、クライアント接続の処理に利用可能なファイル記述子の数が減ることに注意してください。この属性の値を増やす場合には、システム上で利用可能なファイル記述子の数を増やし、file-descriptor-count の数を増やすことを検討してください。

確保すべきファイル記述子の数を初めて見積もる目的でこの属性を変更することにした場合、次の式に従って nsslapd-reservedescriptors の値を設定してみてください。

20 + 
4 * (number of databases) +
 (total number of indexes) + 
(value of nsoperationconnectionslimit) * 
(number of chaining backends) + 
ReplDescriptors + 
PTADescriptors + 
SSLDescriptors

ここで、ReplDescriptors は、レプリケーションが使用される場合は、サプライヤレプリカの数に 8 を加えたものになります。PTADescriptors は、PTA (Pass Through Authentication) プラグインが有効になっている場合は 3、それ以外の場合は 0 になります。SSLDescriptors は、SSL が使用される場合は 5、それ以外の場合は 0 になります。

 

インスタンスがサフィックスごとに 2 つ以上のデータベースを使用するように設定されているのでないかぎり、データベースの数はインスタンスのサフィックスの数と同じになります。実験的なテストを通じて見積もり内容を確認してください。 

属性 

dn: cn=config の属性 nsslapd-securelistenhost

Directory Server が SSL 接続を待機する IP インタフェースのホスト名を設定します。この属性は複数の値を持つことができます。 

この属性を設定するには、ldapmodify コマンドを使用します。

デフォルト動作は、すべてのインタフェース上で待機することです。この属性は、nsslapd-listenhost と同様に考えてください。

サーバープロパティー 

max-thread-count

Directory Server が使用するスレッドの数を設定します。 

このサーバープロパティーを設定するには、dsconf set-server-prop コマンドを使用します。

次のいずれかに該当する場合には、このプロパティーの値を調整することを検討してください。

  • クライアントアプリケーションが、更新や複雑な検索などの時間のかかる処理を、同時に数多く実行する。

  • Directory Server が多数の同時クライアント接続をサポートする。

マルチプロセッサシステムは、シングルプロセッサシステムよりも大きなスレッドプールを維持できます。この属性の値を最適化する際の最初の見積もりとしては、プロセッサ数の 2 倍、20 + 同時更新数のいずれかを使用してください。 

また、1 クライアント接続あたりの最大スレッド数 max-threads-per-connection-count を調整することも検討してください。クライアント接続を処理するこれらのスレッドの最大数が、システム上で利用可能なファイル記述子の最大数を超えることはできません。場合によっては、この属性の値を増やすよりも「減らす」ほうが有効である可能性もあります。

実験的なテストを通じて見積もり内容を確認してください。その結果は、特定の配備状況だけでなく、サーバーが稼働しているシステムの状況にも依存します。