第5章 Directory Server スレッドの数を設定する
同時接続を処理するために Directory Server が使用するスレッドの数は、サーバーのパフォーマンスに影響します。たとえば、すべてのスレッドが時間のかかるタスク (add 操作など) の処理に追われている場合、新しい受信接続は、空いているスレッドがリクエストを処理できるようになるまでキューに置かれます。
サーバーが提供する CPU スレッド数が少ない場合、スレッド数を多く設定することでパフォーマンスが向上します。ただし、CPU スレッドが多数あるサーバーでは、設定値が高すぎてもパフォーマンスは向上しません。
デフォルトでは、Directory Server はスレッド数を計算する自動チューニング設定を使用します。この数値は、インスタンス起動時のサーバーのハードウェアリソースに基づいています。
スレッド数を手動で設定することは避けてください。代わりに自動チューニング設定を使用してください。
自動スレッドチューニングを有効にすると、Directory Server は以下の最適化されたスレッド数を使用します。
| CPU スレッド数 | Directory Server スレッド数 |
|---|---|
| 1-16 | 16 |
| 17-512 | Directory Server スレッド数は、システムの CPU スレッド数と一致します。たとえば、システムに 24 の CPU スレッドがある場合、Directory Server は 24 のスレッドを使用します。Directory Server スレッドの最大数は 512 です。 |
| 512 以上 | 512。Directory Server は、推奨される最大スレッド数を適用します。 |
5.1. コマンドラインを使用した自動スレッドチューニングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Directory Server は使用可能なハードウェアに基づいてスレッド数を自動的に設定します。ただし、場合により、コマンドラインを使用してこの自動チューニング機能を手動で有効にすることができます。
手順
自動チューニング機能を有効にするには、次のコマンドで
nsslapd-threadnumber属性値を-1に設定します。dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-threadnumber="-1" Successfully replaced "nsslapd-threadnumber"
# dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-threadnumber="-1" Successfully replaced "nsslapd-threadnumber"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを使用して、Directory Server が現在使用しているスレッド数を確認します。
dsconf -D "cn=Directory Manager" ldap://server.example.com config get nsslapd-threadnumber nsslapd-threadnumber: 16
# dsconf -D "cn=Directory Manager" ldap://server.example.com config get nsslapd-threadnumber nsslapd-threadnumber: 16Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドは、Directory Server が正しいハードウェアリソースに基づいて計算したスレッド数を取得します。