システムインデックスリストのサイズがインデックスリストのしきい値を超えると、検索が遅くなることがあります。インデックスリストのしきい値は各インデックスキーの値の最大数です。インデックスリストのしきい値のサイズを超えているかどうかを判断するには、アクセスログを調べます。アクセスログ RESULT メッセージの末尾の notes=U フラグは、インデックスを使用しない検索が実行されたことを示します。同じ接続と操作の前の SRCH メッセージは、使用された検索フィルタを示します。次の 2 行の例は、10,000 エントリを返す cn=Smith のインデックスを使用しない検索を追跡します。メッセージからタイムスタンプが削除されています。
conn=2 op=1 SRCH base="o=example.com" scope=0 filter="(cn=Smith)" conn=2 op=1 RESULT err=0 tag=101 nentries=10000 notes=U |
システムで頻繁にインデックスリストのしきい値を超える場合は、しきい値を増加して、パフォーマンスを向上させることを検討してください。次の手順では dsconf set-server-prop コマンドを使用して、all-ids-threshold プロパティーを変更します。インデックスのチューニングと all-ids-threshold プロパティーの詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の「Tuning Indexes for Performance」を参照してください。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
インデックスリストのしきい値を調整します。
次のレベルでインデックスリストのしきい値を調整できます。
インスタンスレベル
dsconf set-server-prop -h host -p port all-ids-threshold:value |
サフィックスレベル
dsconf set-suffix-prop -h host -p port suffix-DN all-ids-threshold:value |
エントリレベル
dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold:value |
検索のタイプ別インデックスレベル
dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold search-type:value |
search-type は次のいずれかになります。
eq-enabled 等価
pres-enabled プレゼンス
sub-enabled 部分文字列
all-ids-threshold プロパティーは近似インデックスには設定できません。
DSCC を使用して、検索タイプ別にインデックスレベルでしきい値を設定できます。詳細については Directory Server のオンラインヘルプを参照してください。
サフィックスインデックスを再生成します。
「インデックスを生成する」を参照してください。
データベースキャッシュサイズを古い all IDs しきい値に合わせて調整しており、サーバーに十分な物理メモリーがある場合は、データベースキャッシュサイズを増やすことをお勧めします。
データベースキャッシュサイズを、all IDs しきい値の増加量の 25 パーセント増加します。
つまり、 all IDs しきい値を 4000 から 6000 に増加した場合、インデックスリストのサイズの増加を見込んで、データベースキャッシュサイズを約 12 ½ パーセント増加できます。
データベースキャッシュサイズは属性 dbcachesize を使用して設定します。業務用サーバーに変更を適用する前に、実験して最適なサイズを見つけてください。