第4章 ロック数の調整
Directory Server のロックメカニズムは、Directory Server プロセスのコピーを同時に実行できる数を制御します。たとえば、インポートジョブ中に Directory Server は、/run/lock/dirsrv/slapd-instance_name/imports/
ディレクトリーにロックを設定し、ns-slapd
(Directory Server) プロセスや別のインポートまたはエクスポート操作が実行されないようにします。
サーバーが使用可能なロックを使い果たした場合、ディレクトリーサーバーは次のエラーを /var/log/dirsrv/slapd-instance_name/errors
ファイルに記録します。
libdb: Lock table is out of available locks
ただし、ディレクトリーサーバーのデフォルト設定では、サーバーがロックを使い果たしないようにして、データの破損を回避しようとします。詳細は、Avoiding data corruption by monitoring free database locks を参照してください。
4.1. 無料のデータベースロックを監視することによるデータ破壊の回避
データベースロックが不足すると、データが破損する可能性があります。これを回避するために、Directory Server は、デフォルトで、残りの空きデータベースロック数を 500 ミリ秒間隔で監視し、アクティブなデータベースロックの数が 90% 以上の場合、Directory Server はすべての検索を中止します。
この手順により、間隔が 600
ミリ秒に変更され、しきい値が 85
% に変更されます。
設定した間隔が長すぎると、次の監視チェックが行われる前にサーバーのロックが不足する可能性があります。間隔が短すぎると、サーバーが遅くなる可能性があります。
手順
間隔としきい値を設定します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend config set --locks-monitoring-enabled on --locks-monitoring-pause 600 --locks-monitoring-threshold 85
インスタンスを再起動します。
# dsctl instance_name restart
検証
ロックモニタリング設定を表示します。
# dsconf -D "cn=Directory Manager" ldap://supplier.example.com backend config get | grep "nsslapd-db-locks-monitoring" nsslapd-db-locks-monitoring-enabled: on nsslapd-db-locks-monitoring-threshold: 85 nsslapd-db-locks-monitoring-pause: 600