第 9 章 调整事务日志记录
每个 Directory Server 实例包含一个事务日志,用于记录它管理的数据库更新。每当执行目录数据库操作(如修改操作)时,服务器会为作为该 LDAP 操作调用的所有数据库操作创建一个数据库操作。这包括在数据库文件中更新条目记录,其中包含条目并更新所有属性索引。如果所有操作都成功,服务器会提交事务,将操作写入事务日志并验证整个事务是否已写入磁盘。如果有任何操作失败,服务器会回滚事务,并且丢弃所有操作。这种全体式方法保证更新操作是原子的。整个操作可以永久成功,且不可恢复,或者它会失败。
Directory 服务器定期清除事务日志的内容到实际数据库索引文件,并检查事务日志是否需要修剪。
如果服务器遇到故障(如关机),并正常关闭,有关最近目录更改的信息仍由事务日志保存。当服务器重启时,服务器会自动检测到错误条件,并使用数据库事务日志恢复数据库。
虽然数据库事务日志记录,清除数据库、修剪和数据库恢复是无需干预的自动进程,但建议调整一些数据库事务日志记录属性以优化性能。
9.1. 使用命令行更改数据库检查点间隔
在常规的间隔中,Directory 服务器将事务日志记录的事务写入数据库文件,并在数据库事务日志中记录一个检查点条目。通过指示哪些更改已经写入数据库,检查点条目表示要从事务日志开始恢复,从而加快恢复过程。
默认情况下,Directory 服务器每 60 秒向数据库事务日志发送检查点条目。增加检查点间隔可能会提高目录写入操作的性能。但是,它还可以在不排序关闭后增加恢复目录数据库所需的时间,并需要更多磁盘空间,因为大型数据库事务日志文件。
流程
将检查点间隔(例如,更改为 120 秒):
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend config set --checkpoint-interval=120