4.4. 数据库插件属性
数据库插件也以信息树中组织,如 图 4.1 “数据库插件” 所示。
图 4.1. 数据库插件
数据库实例使用的所有插件技术都存储在 cn=ldbm 数据库
插件节点中。本节在 cn=ldbm 数据库cn=plugins,cn=config
信息树中显示每个节点的附加属性信息。
4.4.1. database Attributes in cn=config,cn=ldbm database,cn=plugins,cn=config
本节涵盖所有实例通用的全局配置属性,它们都存储在 cn=config,cn=ldbm database,cn=plugins,cn=config
tree 节点上。
4.4.1.1. nsslapd-backend-implement
nsslapd-backend-implement
参数定义数据库后端 Directory 服务器使用。
目录服务器当前仅支持 Berkeley Database(BDB)。因此,您无法将此参数设置为其他值。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | bdb |
默认值 | bdb |
语法 | 目录 String |
示例 | nsslapd-backend-implement: bdb |
4.4.1.2. nsslapd-backend-opt-level
这个参数可以触发实验性代码,以提高写入性能。
可能的值:
-
0
: 禁用 参数。 -
1:
复制更新向量在事务期间不会写入数据库 -
2:
更改获取后端锁定的顺序并启动事务 -
4
:将代码从事务中移出。
所有参数都可以合并。例如 7
,启用所有 optimisation 功能。
这个参数是实验性的。除非由红帽支持特别告知,否则永远不会更改其值。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 0 | 1 | 2 | 4 |
默认值 | 0 |
语法 | 整数 |
示例 | nsslapd-backend-opt-level: 0 |
4.4.1.3. nsslapd-directory
此属性指定到数据库实例的绝对路径。如果手动创建数据库实例,则必须包含此属性,在 Directory Server 控制台中默认设置(和可修改)的项目。创建数据库实例后,请勿修改此路径,因为任何更改风险会阻止服务器访问数据。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 数据库实例的任何有效的绝对路径 |
默认值 | |
语法 | DirectoryString |
示例 | nsslapd-directory: /var/lib/dirsrv/slapd-instance/db |
4.4.1.4. nsslapd-exclude-from-export
此属性包含在导出数据库时要从条目中排除的属性名称列表。这主要用于特定于服务器实例的一些配置和操作属性。
不要删除此属性的任何默认值,因为可能会影响服务器性能。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的属性 |
默认值 | entrydn entryid dncomp parentid numSubordinates entryusn |
语法 | DirectoryString |
示例 | nsslapd-exclude-from-export: entrydn entryid dncomp parentid numSubordinates entryusn |
4.4.1.5. nsslapd-db-transaction-wait
如果您启用 nsslapd-db-transaction-wait
参数,Directory 服务器不会启动事务并等待锁定资源可用。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | off |
语法 | DirectoryString |
示例 | nsslapd-db-transaction-wait: off |
4.4.1.6. nsslapd-db-private-import-mem
nsslapd-db-private-import-mem
参数管理 Directory 服务器是否使用私有内存来分配区域,mutexes 用于数据库导入。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | on |
语法 | DirectoryString |
示例 | nsslapd-db-private-import-mem: on |
4.4.1.7. nsslapd-db-deadlock-policy
nsslapd-db-deadlock-policy
参数设置 libdb
library-internal deadlock 策略。
仅在红帽支持的指示时更改这个参数。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 0-9 |
默认值 | 0 |
语法 | DirectoryString |
示例 | nsslapd-db-deadlock-policy: 9 |
4.4.1.8. nsslapd-idl-switch
nsslapd-idl-switch
参数设置 IDL 格式 Directory 服务器。请注意,红帽不再支持旧的 IDL 格式。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 新 | 旧 |
默认值 | new |
语法 | 目录 String |
示例 | nsslapd-idl-switch: new |
4.4.1.9. nsslapd-idlistscanlimit
此与性能相关的属性默认存在,指定搜索操作期间搜索的条目 ID 数。尝试设置不是一个数字或者对于 32 位签名整数来说太大的值,会返回 LDAP_UNWILLING_TO_PERFORM
错误消息,并解释此问题的额外错误信息。建议保留默认值以提高搜索性能。
详情请查看以下中的对应部分:
可在服务器运行时更改此参数,新值将影响后续的搜索。
对应的 user-level 属性是 nsIDListScanLimit
。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 100 到最大 32 位整数值(2147483647)条目 ID |
默认值 | 4000 |
语法 | 整数 |
示例 | nsslapd-idlistscanlimit: 4000 |
4.4.1.10. nsslapd-lookthroughlimit
这个与性能相关的属性指定在检查候选条目时要检查搜索请求的最大条目数。但是,Directory Manager DN 默认是,无限量并覆盖此处指定的任何其他设置。值得注意的是,基于 binder 的资源限值可用于此限制。这意味着,如果在用户绑定时,条目中包括 operational 属性 nsLook separatedLimit
的值,则默认限制将被覆盖。尝试设置不是一个数字或者对于 32 位签名整数来说太大的值,会返回一个 LDAP_UNWILLING_TO_PERFORM
错误消息,并解释该问题的额外错误信息。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | -1 可以在条目中最大 32 位整数(其中 -1 为无限) |
默认值 | 5000 |
语法 | 整数 |
示例 | nsslapd-lookthroughlimit: 5000 |
4.4.1.11. nsslapd-mode
此属性指定用于新创建的索引文件的权限。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 |
任何四位八进制数。但是,建议使用 mode |
默认值 | 600 |
语法 | 整数 |
示例 | nsslapd-mode: 0600 |
4.4.1.12. nsslapd-pagedidlistscanlimit
这个与性能相关的属性指定搜索的条目 ID 数,特别是搜索操作,使用简单的页面结果控制。
此属性与 nsslapd-idlistscanlimit
属性相同,但它只应用于使用简单页结果控制进行搜索。
如果这个属性不存在或为零,则使用 nsslapd-idlistscanlimit
来分页搜索以及非页面搜索。
对应的用户级属性是 nsPagedIDListScanLimit
。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | -1 可以在条目中最大 32 位整数(其中 -1 为无限) |
默认值 | 0 |
语法 | 整数 |
示例 | nsslapd-pagedidlistscanlimit: 5000 |
4.4.1.13. nsslapd-pagedlookthroughlimit
此与性能相关的属性指定在检查候选条目时检查使用简单页结果控制的搜索时要检查的最大条目数。
此属性与 nsslapd-lookthroughlimit
属性相同,但它只应用于使用简单页结果控制进行搜索。
如果此属性不存在或设为零,则使用 nsslapd-lookthroughlimit
和非页面搜索进行分页搜索。
对应的用户级属性是 nsPagedLookThroughLimit
。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | -1 可以在条目中最大 32 位整数(其中 -1 为无限) |
默认值 | 0 |
语法 | 整数 |
示例 | nsslapd-pagedlookthroughlimit: 25000 |
4.4.1.14. nsslapd-rangelookthroughlimit
这个与性能相关的属性指定在检查候选条目时要检查范围搜索请求时要检查的最大条目数。
范围搜索使用运算符设置用于搜索并返回目录中全部条目子集的黑客。例如,这将搜索在 1 月 1 日或午夜修改的每个条目:
(modifyTimestamp>=20200101010101Z)
范围搜索的性质是,它必须评估目录中的每个条目,以查看它是否在指定范围内。本质上,范围搜索始终都是 ID 搜索。
对于大多数用户,look-through 限制会启动,并阻止范围搜索转换为所有 ID 搜索。这提高了整体性能,并加快搜索结果范围。但是,一些客户端或管理用户(如 Directory Manager)可能没有设置 look-through 的限制。在这种情况下,一个范围搜索可能需要几分钟来完成,甚至可以无限期地继续。
nsslapd-rangelookthroughlimit
属性设置适用于所有用户(包括 Directory Manager)的独立范围查找限制。
这可让客户端和管理用户在可能对性能范围搜索上设置合理的限制。
与其他资源限制不同,这适用于按任何用户(包括 Directory Manager、常规用户和其他 LDAP 客户端)进行搜索。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | -1 可以在条目中最大 32 位整数(其中 -1 为无限) |
默认值 | 5000 |
语法 | 整数 |
示例 | nsslapd-rangelookthroughlimit: 5000 |
4.4.1.15. nsslapd-search-bypass-filter-test
如果您启用 nsslapd-search-bypass-filter-test
参数,则 Directory Server 会在搜索过程中绕过构建候选列表的过滤器检查。如果您将参数设置为 验证
,则 Directory 服务器会根据搜索候选条目评估过滤器。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off | 验证 |
默认值 | on |
语法 | 目录 String |
示例 | nsslapd-search-bypass-filter-test: on |
4.4.1.16. nsslapd-search-use-vlv-index
nsslapd-search-use-vlv-index
可启用和禁用虚拟列表视图(VLV)搜索。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | on |
语法 | 目录 String |
示例 | nsslapd-search-use-vlv-index: on |
4.4.1.17. nsslapd-subtree-rename-switch
每个目录条目都作为密钥存储在条目索引文件中。索引键将当前条目 DN 映射到索引中的 meta 条目。此映射可以通过条目的 RDN 或条目的完整 DN 进行。
当子树条目被重命名为(meaning 时,包含子条目的条目,有效重命名整个子树),其条目将存储在 entryrdn.db
索引中,该条目由分配的 ID 而不是其 DN 关联。如果不允许使用 subtree 重命名操作,则禁用 entryrdn.db
索引,并使用 entrydn.db
索引,只是使用完整的 DN,其含有隐式父子关系。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | off | on |
默认值 | on |
语法 | DirectoryString |
示例 | nsslapd-subtree-rename-switch: on |
4.4.2. database Attributes in cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config
本节涵盖所有实例通用的全局配置属性,它们都存储在 cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config
tree 节点上。
4.4.2.1. nsslapd-cache-autosize
此性能调整相关属性设定在数据库和条目缓存总量中使用的可用内存百分比。例如,如果值设为 10
,则系统的可用 RAM 的 10% 用于两个缓存。如果这个值被设置为大于 0
的值,则会为数据库和条目缓存启用自动大小。
为了优化性能,红帽建议不要禁用自动大小。然而,在某些情况下可能需要禁用自动大小。在这种情况下,将 nsslapd-cache-autosize
属性设置为 0,
并手动设置:
-
nsslapd-dbcachesize
属性中的数据库缓存。 -
nsslapd-cachememsize
属性中的条目缓存。
有关自动大小的详情,请查看 Red Hat Directory Server Performance Tuning Guide 中的相应部分。
如果 nsslapd-cache-autosize
和 nsslapd-cache-autosize-split
属性都被设置为高值,如 100
,Directory 服务器无法启动。要解决这个问题,请将两个参数都设置为更合理的值。例如:
nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到 100。如果设置了 0,则使用默认值。 |
默认值 | 10 |
语法 | 整数 |
示例 | nsslapd-cache-autosize: 10 |
4.4.2.2. nsslapd-cache-autosize-split
这个性能调优相关的属性设定用于数据库缓存的 RAM 百分比。剩余百分比用于条目缓存。例如,如果值设为 40
,数据库缓存使用 40%,条目缓存了 nsslapd-cache-autosize
属性中保留的其余可用 RAM 的 60%。
有关自动大小的详情,请查看 Red Hat Directory Server Performance Tuning Guide 中的相应部分。
如果 nsslapd-cache-autosize
和 nsslapd-cache-autosize-split
属性都被设置为高值,如 100
,Directory 服务器无法启动。要解决这个问题,请将两个参数都设置为更合理的值。例如:
nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到 99。如果设置了 0,则使用默认值。 |
默认值 | 40 |
语法 | 整数 |
示例 | nsslapd-cache-autosize-split: 40 |
4.4.2.3. nsslapd-db-checkpoint-interval
这将设置 Directory 服务器向数据库事务日志发送检查点条目的时间(以秒为单位)。数据库事务日志包含所有最近数据库操作的顺序列表,仅用于数据库恢复。Checkpoint 条目表示哪些数据库操作已物理写入目录数据库。检查点条目用于确定数据库事务日志中在系统失败后开始恢复的位置。dse.ldif
中没有 nsslapd-db-checkpoint-interval
属性。要更改检查点间隔,请将 属性添加到 dse.ldif
。此属性可以使用 ldapmodify
动态修改。有关修改此属性的详情,请参考 Red Hat Directory Server Administration Guide 中的"uning Directory Server Performance"一章。
此属性仅为系统修改/资料无关的提供,应仅在红帽技术支持或红帽咨询的指导下更改。不正确的此属性和其他配置属性的设置可能会导致 Directory 服务器不稳定。
有关数据库事务日志的更多信息,请参阅 Red Hat Directory Server Administration Guide 中的"监控服务器和数据库活动"章节。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 10 到 300 秒 |
默认值 | 60 |
语法 | 整数 |
示例 | nsslapd-db-checkpoint-interval: 120 |
4.4.2.4. nsslapd-db-circular-logging
此属性指定事务日志文件的循环日志。如果此属性关闭,旧的事务日志文件不会被删除,并作为旧的日志事务文件被重命名。关闭环形记录可能会严重地降低服务器性能,因此只有红帽技术支持或红帽咨询的指导才会进行修改。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | on |
语法 | DirectoryString |
示例 | nsslapd-db-circular-logging: on |
4.4.2.5. nsslapd-db-compactdb-interval
nsslapd-db-compactdb-interval
属性定义目录服务器压缩数据库和复制更改日志时的时间间隔(以秒为单位)。紧凑操作将未使用的页面返回到文件系统,数据库文件大小会缩小。请注意,紧凑数据库是资源密集型,不应经常完成。
您不必重新启动服务器,才能使此设置生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 0 (无压缩)到 2147483647 秒 |
默认值 | 2592000(30 天) |
语法 | 整数 |
示例 | nsslapd-db-compactdb-interval: 2592000 |
4.4.2.6. nsslapd-db-compactdb-time
当目录服务器压缩所有数据库及其复制更改日志时,nsslapd-db-compactdb-time
属性会设置一天的时间。压缩任务在压缩间隔后运行(nsslapd-db-compactdb-interval
)。
您不必重新启动服务器,才能使此设置生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | HH:MM.时间使用 24 小时格式设置 |
默认值 | 23:59 |
语法 | DirectoryString |
示例 | nsslapd-db-compactdb-time: 23:59 |
4.4.2.7. nsslapd-db-debug
此属性指定是否向 {Directory Server} 报告额外的错误信息。要报告错误信息,请在 上将 参数设置为
。这个参数用于故障排除;启用参数可能会减慢 Directory 服务器的速度。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | off |
语法 | DirectoryString |
示例 | nsslapd-db-debug: off |
4.4.2.8. nsslapd-db-durable-transactions
此属性设置数据库事务日志条目是否立即写入磁盘。数据库事务日志包含所有最近数据库操作的顺序列表,仅用于数据库恢复。启用持久事务后,每个目录更改始终会在日志文件中进行物理记录,因此可以在系统失败时恢复。但是,持久的事务功能也可能降低目录服务器的性能。禁用持久事务时,所有事务都以逻辑方式写入数据库事务日志,但可能不会立即对磁盘进行物理写入。如果在将目录更改物理写入磁盘前出现系统失败,那么这个更改不可恢复。dse.ldif
中没有 nsslapd-db-durable-transactions
属性。要禁用持久事务,请将 属性添加到 dse.ldif
中。
此属性仅为系统修改/资料无关的提供,应仅在红帽技术支持或红帽咨询的指导下更改。不正确的此属性和其他配置属性的设置可能会导致 Directory 服务器不稳定。
有关数据库事务日志的更多信息,请参阅 Red Hat Directory Server Administration Guide 中的"监控服务器和数据库活动"章节。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | on |
语法 | DirectoryString |
示例 | nsslapd-db-durable-transactions: on |
4.4.2.9. nsslapd-db-home-directory
要出于性能原因将数据库移动到另一个物理位置,请使用此参数指定主目录。
这个情况只适用于数据库缓存大小、物理内存的大小和内核调整属性的某些组合。特别是,如果数据库缓存大小小于 100MB,则不应该发生这种情况。
- 磁盘使用大量数据(每秒的数据传输量超过 1MB)。
- 服务时间长(超过 100ms)。
- 主要有写入活动。
如果这些都是 true,则使用 nsslapd-db-home-directory
属性来指定 tempfs
类型文件系统的子目录。
nsslapd-db-home-directory
属性引用的目录必须是类型为 tempfs(如 /tmp
)的文件系统的子目录。但是,Directory 服务器不会创建此属性引用的子目录。此目录必须手动创建,也可以使用脚本。无法创建由 nsslapd-db-home-directory
属性引用的目录,将导致 Directory 服务器无法启动。
另外,如果同一机器上有多个目录服务器,其 nsslapd-db-home-directory
属性必须配置有不同的目录。如果不这样做,则这两个目录的数据库都会被破坏。
使用此属性可导致内部目录服务器数据库文件移到 属性引用的目录中。但不太可能,但不太可能在文件被移动后启动,因为无法分配足够内存。这是为服务器配置超过大型数据库缓存大小的症状。如果发生这种情况,将数据库缓存大小的大小减小到服务器将再次启动的值。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 |
tempfs 文件系统中的任何有效目录名称,如 |
默认值 | |
语法 | DirectoryString |
示例 | nsslapd-db-home-directory: /tmp/slapd-phonebook |
4.4.2.10. nsslapd-db-idl-divisor
此属性根据每个数据库页面的块数量来指定索引块大小。块大小通过将数据库页面大小除除此属性值来计算。值 1
使块大小与页面大小完全相同。默认值 0
将块大小设置为页面大小减去内部数据库开销的估算允许。对于大多数安装,除非有特定的调优需要,否则不应更改默认值。
在修改此属性的值前,使用 db2ldif
脚本导出所有数据库。完成修改后,使用 ldif2db
脚本重新加载数据库。
这个参数只应用于非常高级用户使用。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到 8 |
默认值 | 0 |
语法 | 整数 |
示例 | nsslapd-db-idl-divisor: 2 |
4.4.2.11. nsslapd-db-locks
锁定目录服务器中的机制控制目录服务器进程可以同时运行多少个副本。nsslapd-db-locks
参数设置最大锁定数。
如果 Directory 服务器没有锁定,且日志 libdb: Lock 表没有可用的锁定错误消息,则只
将此参数设置为更高的值。如果您在没有需要的情况下设置了一个更高的值,这会在不任何好处的情况下增加 /var/lib/dirsrv/slapd-instance_name/db_db.*
文件的大小。有关监控日志和确定实际值的更多信息,请参阅 目录服务器性能调优指南中的 对应的章节。
服务必须重启才能使对此属性的更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 - 2147483647 |
默认值 | 10000 |
语法 | 整数 |
示例 | nsslapd-db-locks: 10000 |
4.4.2.12. nsslapd-db-locks-monitoring-enable
不使用数据库锁定可能会导致数据崩溃。使用 nsslapd-db-locks-monitoring-enable
参数,您可以启用或禁用数据库锁定监控。如果启用了参数(默认值),Directory 服务器会终止所有活跃的数据库锁定的数量高于 nsslapd-db-locks-monitoring-threshold 中配置的百分比阈值。如果出现问题,管理员可以增加 nsslapd-db-locks 参数中数据库锁定数量。
重启该服务以使此属性更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | on |
语法 | DirectoryString |
示例 | nsslapd-db-locks-monitoring-enable: |
4.4.2.13. nsslapd-db-locks-monitoring-pause
如果在 nsslapd-db-locks-monitoring-enable 参数中启用了对数据库锁定的监控,nsslapd-db-locks-monitoring-
use 定义了监控线程在检查之间休眠的时间间隔(以毫秒为单位)。
如果将此参数设置为太高的值,服务器可以在监控检查发生前耗尽数据库锁定。但是,设置太低的值可能会减慢服务器的速度。
您不必重新启动服务器,才能使此设置生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 0 - 2147483647(以毫秒为单位) |
默认值 | 500 |
语法 | DirectoryString |
示例 | nsslapd-db-locks-monitoring-pause: 500 |
4.4.2.14. nsslapd-db-locks-monitoring-threshold
如果在 nsslapd-db-locks-monitoring-enable 参数中启用了对数据库锁定的监控,nsslapd-db-locks-monitoring-threshold
设置在 Directory 服务器终止搜索前使用的最大数据库锁定百分比,以避免进一步锁定耗尽。
重启该服务以使此属性更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 70 - 95 |
默认值 | 90 |
语法 | DirectoryString |
示例 | nsslapd-db-locks-monitoring-threshold: 90 |
4.4.2.15. nsslapd-db-logbuf-size
此属性指定日志信息缓冲区大小。日志信息会保存在内存中,直到缓冲区填满,或者事务提交会强制写入到磁盘。较大的缓冲区的大小可显著增加吞吐量,包括长时间运行的事务、高度并发应用程序或生成大量数据的交易。日志信息缓冲区大小是事务日志大小除以 4 个。
只有当 上 nsslapd-db-durable-transactions 属性被设置为 nsslapd-db-durable-transactions
属性时,nsslapd-db-logbuf-size
属性 才有效
。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 32K 最多 32 位整数(限制为机器上可用内存量) |
默认值 | 32K |
语法 | 整数 |
示例 | nsslapd-db-logbuf-size: 32K |
4.4.2.16. nsslapd-db-logdirectory
此属性指定包含数据库事务日志的目录路径。数据库事务日志包含所有最近数据库操作的连续列表。目录服务器使用此信息在实例意外关闭后恢复数据库。
默认情况下,数据库事务日志与目录数据库存储在相同的目录中。要更新此参数,您必须手动更新 /etc/dirsrv/slapd-instance_name/dse.ldif
文件。详情请参阅 Red Hat Directory Server Administration Guide中的更改事务 日志目录 部分。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的路径 |
默认值 | |
语法 | DirectoryString |
示例 | nsslapd-db-logdirectory: /var/lib/dirsrv/slapd-instance_name/db/ |
4.4.2.17. nsslapd-db-logfile-size
此属性以字节为单位指定单个文件的最大大小。默认情况下,或者如果值设为 0,则使用最大 10MB 的最大值。最大大小是未签名的 4 字节值。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到没有 4 字节整数 |
默认值 | 10MB |
语法 | 整数 |
示例 | nsslapd-db-logfile-size: 10 MB |
4.4.2.18. nsslapd-db-page-size
此属性指定用于存放数据库中项目(以字节为单位)的页面的大小。最小值为 512 字节,最大大小为 64 KB。如果没有明确设置页面大小,Directory 服务器默认为页面大小为 8 KB。更改此默认值可能会影响性能。如果页面大小太小,则会导致大量页面分割和复制,如果页面大小过大,则可能会浪费磁盘空间。
在修改此属性的值前,使用 db2ldif
脚本导出所有数据库。完成修改后,使用 ldif2db
脚本重新加载数据库。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 512 字节到 64 KB |
默认值 | 8KB |
语法 | 整数 |
示例 | nsslapd-db-page-size: 8KB |
4.4.2.19. nsslapd-db-spin-count
此属性指定 test-and-set mutexes 应该启动而没有阻塞的次数。
除非您非常熟悉 Berkeley DB 工作,或者特别被红帽支持告知这样做,否则永远不会修改这个值。
默认值 0
会导致 BDB 计算可用 CPU 内核数量(如 nproc
实用程序或 sysconf(_SC_NPROCESSORS_ONLN)
调用)来计算 实际值
。例如,如果具有 8 个逻辑核心的处理器,将此属性设置为 0
等同于 400
。不可能完全关闭(如果您想要尽量减少 test-and-set mutexes)将在不阻断的情况下将这个属性设置为 1
的时间。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到 2147483647(2^31-1) |
默认值 | 0 |
语法 | 整数 |
示例 | nsslapd-db-spin-count: 0 |
4.4.2.20. nsslapd-db-transaction-batch-max-wait
如果设置了 第 4.4.2.22 节 “nsslapd-db-transaction-batch-val”,则达到设定批处理值时由单独的线程清除事务。但是,如果只有几个更新,这个过程可能需要很长时间。此参数控制应独立于批处理数清除事务的时间。这些值以毫秒为单位定义。
这个参数是实验性的。除非由红帽支持特别告知,否则永远不会更改其值。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 - 2147483647(以毫秒为单位) |
默认值 | 50 |
语法 | 整数 |
示例 | nsslapd-db-transaction-batch-max-wait: 50 |
4.4.2.21. nsslapd-db-transaction-batch-min-wait
如果设置了 第 4.4.2.22 节 “nsslapd-db-transaction-batch-val”,则达到设定批处理值时由单独的线程清除事务。但是,如果只有几个更新,这个过程可能需要很长时间。此参数控制应独立于批处理数清除事务的时间。这些值以毫秒为单位定义。
这个参数是实验性的。除非由红帽支持特别告知,否则永远不会更改其值。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 - 2147483647(以毫秒为单位) |
默认值 | 50 |
语法 | 整数 |
示例 | nsslapd-db-transaction-batch-min-wait: 50 |
4.4.2.22. nsslapd-db-transaction-batch-val
此属性指定提交前将批量的事务数量。当不需要完整的事务持久性时,此属性可以提高更新性能。此属性可以使用 ldapmodify
动态修改。有关修改此属性的详情,请参考 Red Hat Directory Server Administration Guide 中的"uning Directory Server Performance"一章。
设置此值将降低数据一致性,并可能导致数据丢失。这是因为,如果服务器可在服务器清除批处理前出现电源中断,则批处理中的事务将会丢失。
除非由红帽支持特别要求,否则不要设置这个值。
如果未定义此属性或 设置为 0,则将关闭事务批处理,且无法使用 LDAP 对此属性进行远程修改。但是,将此属性设置为大于
0
的值会导致服务器延迟提交事务,直到排队的事务数量等于属性值。大于 0
的值也允许使用 LDAP 远程修改该属性。此属性的值为 1
允许使用 LDAP 远程修改属性设置,但不会导致批处理行为。因此,服务器启动时为 1
的值对于保持正常的持久性,同时允许根据需要远程打开和关闭事务。请记住,此属性的值可能需要修改 nsslapd-db-logbuf-size
属性,以确保有足够的日志缓冲区大小用于调整批处理事务。
只有当 上 nsslapd-db-durable-transaction 属性被设置为
属性 nsslapd-db-durable-transaction
属性时,nsslapd-db-transaction-val才有效
。
有关数据库事务日志的更多信息,请参阅 Red Hat Directory Server Administration Guide 中的"监控服务器和数据库活动"章节。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到 30 |
默认值 | 0(或关闭) |
语法 | 整数 |
示例 | nsslapd-db-transaction-batch-val: 5 |
4.4.2.23. nsslapd-db-trickle-percentage
此属性通过将脏页面写入其后备文件,至少设置在共享内存池中指定的页面百分比是干净的。这是为了确保页面始终可用于读取新信息,而无需等待写入。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 0 到 100 |
默认值 | 40 |
语法 | 整数 |
示例 | nsslapd-db-trickle-percentage: 40 |
4.4.2.24. nsslapd-db-verbose
此属性指定是否在搜索检查点、执行死锁检测和执行恢复时记录额外的信息和调试信息。这个参数用于故障排除,启用参数可能会减慢 Directory 服务器的速度。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | off |
语法 | DirectoryString |
示例 | nsslapd-db-verbose: off |
4.4.2.25. nsslapd-import-cache-autosize
这个性能调优相关属性会自动将在基于 LDIF 文件的 LDIF 文件导入过程中使用导入缓存的大小设置为数据库( ldif2db
操作)。
在目录服务器中,导入操作可以作为服务器任务运行,或者仅在命令行中运行。在任务模式中,导入操作作为一般目录服务器操作运行。当导入操作在命令行中运行时,nsslapd-import-cache-autosize
属性可让导入缓存自动设置为预先确定的大小。属性也可以在任务模式导入时供 Directory 服务器使用,以分配用于导入缓存的指定百分比的可用内存。
默认情况下,nsslapd-import-cache-autosize
属性被启用,并被设置为 -1
的值。这个值只为 ldif2db
操作重新定义导入缓存,自动分配导入缓存的空闲物理内存的 50%(50%)。百分比值(50%)是硬编码的,不可更改。
将属性值设置为 50
(nsslapd-import-cache-autosize: 50
)在 ldif2db
操作期间对性能产生相同的影响。但是,当导入操作作为 Directory Server 任务运行时,此类设置会对性能产生同样的影响。-1
值可自动调整只针对 ldif2db
操作导入缓存的大小,而不适用于任何,包括导入、常规目录服务器任务。
-1
设置的目的是使 ldif2db
操作从释放物理内存中受益,但又不会与条目缓存的宝贵内存竞争,后者用于 Directory 服务器的常规操作。
将 nsslapd-import-cache-autosize
属性值设置为 0,
将导入缓存自动大小功能关闭,该特性在导入操作中的任何模式都没有自动大小发生。相反,Directory 服务器使用 nsslapd-import-cachesize
属性来导入缓存大小,默认值为 20000000
。
Directory 服务器上下文中有三个缓存:数据库缓存、条目缓存和导入缓存。导入缓存仅在导入操作中使用。nsslapd-cache-autosize
属性(用于自动调整条目缓存和数据库缓存)仅在 Directory Server 操作期间使用,且不在 ldif2db
命令行操作中; 属性值是为条目缓存和数据库缓存分配的可用物理内存百分比。
如果两个自动属性( nsslapd-cache-autosize
和 nsslapd-import-cache-autosize
)都已启用,请确保它们的总和小于 100。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | -1, 0(return returns import cache autosizing off)to 100 |
默认值 | -1(返回只为 ldif2db 的导入缓存自动大小,并分配 50% 的空闲物理内存来导入缓存) |
语法 | 整数 |
示例 | nsslapd-import-cache-autosize: -1 |
4.4.2.26. nsslapd-dbcachesize
这个性能调整相关属性指定数据库索引缓存大小,以字节为单位。这是控制目录服务器使用的物理 RAM 最重要的值之一。
这不是条目缓存。这是 Berkeley 数据库后端用于缓存索引( .db
文件)和其它文件的内存量。这个值被传递给 Berkeley DB API 功能 set_cachesize
。如果激活自动缓存重新定义大小,服务器会将这些值替换为其本身猜测的值时,将被覆盖。
有关此属性的更多信息,请参阅 Berkeley DB 参考指南的缓存大小部分,网址为 https://docs.oracle.com/cd/E17076_04/html/programmer_reference/general_am_conf.html#am_conf_cachesize。
尝试设置不是一个数字或者对于 32 位签名整数来说太大的值,会返回一个 LDAP_UNWILLING_TO_PERFORM
错误消息,并解释该问题的额外错误信息。
不要手动设置数据库缓存大小。红帽建议使用数据库缓存自动大小功能来优化性能。详情请查看 Red Hat Directory Server Performance Tuning Guide 中的对应部分。
必须重新启动服务器,以使对此属性的更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 500 KB 到 32 位平台,500 KB 到 2^64-1(用于 64 位平台) |
默认值 | |
语法 | 整数 |
示例 | nsslapd-dbcachesize: 10000000 |
4.4.2.27. nsslapd-dbncache
此属性可以将 LDBM 缓存分割为不同的内存片段。可以指定足够大的缓存,使其无法在某些架构中连续分配;例如,某些系统会限制进程连续分配的内存量。如果 nsslapd-dbncache
是 0
或 1
,则该缓存将在内存中连续分配。如果大于 1
,缓存将分成 ncache
,其大小相等。
要配置大于 4GB 的 dbcache 大小,请将 nsslapd-dbncache
属性添加到 cn=config,cn=ldbm database,cn=plugins,cn=config
间的 nsslapd-dbcachesize
和 nsslapd-db-logdirectory
属性行。
将此值设置为整数,即 1-quarter(1/4)内存大小,以 GB 为单位。例如,对于 12GB 系统,请将 nsslapd-dbncache
值设为 3
;对于 8 千兆字节系统,将其设置为 2
。
这个属性仅用于系统修改/与系统相关的信息,应仅在 Red Hat 技术支持或红帽专业服务的指导下修改。不正确的此属性和其他配置属性的设置可能会导致 Directory 服务器不稳定。
必须重新启动服务器,以使对此属性的更改生效。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 1 到 4 |
默认值 | 1 |
语法 | 整数 |
示例 | nsslapd-dbncache: 1 |
4.4.2.28. nsslapd-search-bypass-filter-test
如果您启用 nsslapd-search-bypass-filter-test
参数,则 Directory Server 会在搜索过程中绕过构建候选列表的过滤器检查。如果您将参数设置为 验证
,则 Directory 服务器会根据搜索候选条目评估过滤器。
参数 | 描述 |
---|---|
条目 DN | cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off | 验证 |
默认值 | on |
语法 | 目录 String |
示例 | nsslapd-search-bypass-filter-test: on |
4.4.3. database Attributes in cn=monitor,cn=ldbm database,cn=plugins,cn=config
包含对数据库监控活动的数据库统计信息的全局只读属性存储在 cn=monitor,cn=ldbm 数据库中,cn=plugins,cn=config
tree 节点上。有关这些条目的更多信息,请参阅 Red Hat Directory Server Administration Guide 中的"监控服务器和数据库活动"章节。
dbcachehits
此属性显示数据库中找到的请求页面。
dbcachetries
此属性显示总缓存查找。
dbcachehitratio
此属性显示数据库缓存中请求页面的百分比(hits/tries)。
dbcachepagein
此属性显示读取到数据库缓存中的页面。
dbcachepageout
此属性显示从数据库缓存写入后备文件的页面。
dbcacheroevict
此属性显示强制从缓存进行的清理页面。
dbcacherwevict
此属性显示从缓存强制进行脏页面。
normalizedDNcachetries
自实例启动以来缓存查找总数。
normalizedDNcachehits
在缓存中找到的规范化 DN。
normalizedDNcachemisses
在缓存中未找到规范化 DN。
normalizedDNcachehitratio
在缓存中找到规范化 DN 的百分比。
currentNormalizedDNcachesize
规范化 DN 缓存的当前大小(以字节为单位)。
maxNormalizedDNcachesize
nsslapd-ndn-cache-max-size
参数的当前值。有关如何更新此设置的详情,请参考 第 3.1.1.130 节 “nsslapd-ndn-cache-max-size”。
currentNormalizedDNcachecount
规范化缓存 DN 的数量。
4.4.4. database Attributes in cn=database_name,cn=ldbm database,cn=plugins,cn=config
cn=database_name
子树包含用户定义的数据库的所有配置数据。
默认情况下,cn=userRoot
子树名为 userRoot。但是,这不是硬编码的,因为事实是有多个数据库实例,因此这个名称由用户更改并在添加新数据库时被更改并定义。引用的 cn=userRoot
数据库可以是任何用户数据库。
以下属性对数据库很常见,如 cn=userRoot
。
4.4.4.1. nsslapd-cachesize
此属性已弃用。要重新定义条目缓存大小,请使用 nsslapd-cachememsize。
这个性能调整相关属性指定可容纳条目数的缓存大小。但是,此属性已弃用,而是使用 nsslapd-cachememsize
属性,它为条目缓存大小设置绝对分配,如 第 4.4.4.2 节 “nsslapd-cachememsize” 所述。
尝试设置不是一个数字或者对于 32 位签名整数(在 32 位系统中)返回 LDAP_UNWILLING_TO_PERFORM
错误消息并解释该问题的附加错误信息的值。
必须重新启动服务器,以使对此属性的更改生效。
此设置的性能计数器为 64 位整数,即使在 32 位系统中,在 32 位系统中,设置本身仅限于 32 位整数,因为系统如何解决了内存。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 64 位系统中 1 到 232-1,或 -1 在 64 位系统中有 263-1,这意味着没有限制 |
默认值 | -1 |
语法 | 整数 |
示例 | nsslapd-cachesize: -1 |
4.4.4.2. nsslapd-cachememsize
这个性能调优相关的属性指定条目缓存的可用内存空间大小(以字节为单位)。最简单的方法是在内存占用方面限制缓存大小。激活自动缓存大小将覆盖此属性,将这些值替换为其在服务器启动以后的阶段自行猜测的值。
尝试设置不是一个数字或者对于 32 位签名整数(在 32 位系统中)返回 LDAP_UNWILLING_TO_PERFORM
错误消息并解释该问题的附加错误信息的值。
此设置的性能计数器为 64 位整数,即使在 32 位系统中,在 32 位系统中,设置本身仅限于 32 位整数,因为系统如何解决了内存。
不要手动设置数据库缓存大小。红帽建议使用条目缓存自动大小功能来优化性能。详情请查看 Red Hat Directory Server Performance Tuning Guide 中的对应部分。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 500 KB 到64位系统中的 2 64 -1 |
默认值 | 209715200 (200 MiB) |
语法 | 整数 |
示例 | nsslapd-cachememsize: 209715200 |
4.4.4.3. nsslapd-directory
此属性指定数据库实例的路径。如果它是一个相对路径,它将从全局数据库条目 cn=config,cn=ldbm database,cn=plugins,cn=config
指定的路径开头。默认情况下,数据库实例目录按照实例名称命名,并位于全局数据库目录中。创建数据库实例后,请勿修改此路径,因为任何更改风险会阻止服务器访问数据。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 到数据库实例的任何有效路径 |
默认值 | |
语法 | DirectoryString |
示例 | nsslapd-directory: /var/lib/dirsrv/slapd-实例/db/userRoot |
4.4.4.4. nsslapd-dncachememsize
这个性能调优相关的属性指定 DN 缓存的可用内存空间大小(以字节为单位)。DN 缓存与数据库的条目缓存类似,只有其表只存储条目 ID 和条目 DN。这允许更快地查找重命名和 moddn 操作。
最简单的方法是在内存占用方面限制缓存大小。
尝试设置不是一个数字或者对于 32 位签名整数(在 32 位系统中)返回 LDAP_UNWILLING_TO_PERFORM
错误消息并解释该问题的附加错误信息的值。
此设置的性能计数器为 64 位整数,即使在 32 位系统中,在 32 位系统中,设置本身仅限于 32 位整数,因为系统如何解决了内存。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效范围 | 500 KB 到32位系统中的 2 32 -1,64位系统中的 2 64 -1 |
默认值 | 10,485,760(10MB) |
语法 | 整数 |
示例 | nsslapd-dncachememsize: 10485760 |
4.4.4.5. nsslapd-readonly
此属性为单一后端实例指定只读模式。如果此属性的值为 off
,则用户具有其访问权限允许的所有读取、写入和执行权限。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | off |
语法 | DirectoryString |
示例 | nsslapd-readonly: off |
4.4.4.6. nsslapd-require-index
在 上
切换到 时,此属性可以拒绝未索引搜索。这个与性能相关的属性可避免错误地搜索服务器。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | off |
语法 | DirectoryString |
示例 | nsslapd-require-index: off |
4.4.4.7. nsslapd-require-internalop-index
当插件修改数据时,它在数据库中有一个写入锁定。在大型数据库中,如果插件随后执行未索引的搜索,该插件可以使用所有数据库锁定并破坏数据库,或者服务器变得无响应。要避免这个问题,您可以通过启用 nsslapd-require-internalop-index
参数来拒绝内部未索引搜索。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | on | off |
默认值 | off |
语法 | DirectoryString |
示例 | nsslapd-require-internalop-index: off |
4.4.4.8. nsslapd-suffix
此属性指定 数据库链接 的后缀。这是一个单值属性,因为每个数据库实例只能有一个后缀。在以前的版本中,在单个数据库实例上可以有多个后缀,但情况已不再如此。因此,此属性为单值,它会强制每个数据库实例只能有一个后缀条目。在条目创建后对此属性所做的所有更改仅在重启包含数据库链接的服务器后生效。
参数 | 描述 |
---|---|
条目 DN | cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的 DN |
默认值 | |
语法 | DirectoryString |
示例 | nsslapd-suffix: o=Example |
4.4.4.9. vlvBase
此属性设置创建浏览或虚拟列表视图(VLV)索引的基本 DN。
有关 VLV 索引的更多信息,请参阅管理指南 中的索引 章节。
参数 | 描述 |
---|---|
条目 DN | cn=index_name,cn=userRoot,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的 DN |
默认值 | |
语法 | DirectoryString |
示例 | vlvBase: ou=People,dc=example,dc=com |
4.4.4.10. vlvEnabled
vlvEnabled
属性提供特定 VLV 索引的状态信息,并且 Directory Server 在运行时设置此属性。虽然 vlvEnabled
在配置中显示,但您无法修改此属性。
有关 VLV 索引的更多信息,请参阅管理指南 中的索引 章节。
参数 | 描述 |
---|---|
条目 DN | cn=index_name,cn=userRoot,cn=ldbm database,cn=plugins,cn=config |
有效值 | 0(禁用) | 1(已启用) |
默认值 | 1 |
语法 | DirectoryString |
示例 | vlvEnbled: 0 |
4.4.4.11. vlvFilter
浏览或虚拟列表视图(VLV)索引是通过根据过滤器运行搜索并包括与索引中的过滤器匹配的条目来创建。过滤器在 vlvFilter
属性中指定。
有关 VLV 索引的更多信息,请参阅管理指南 中的索引 章节。
参数 | 描述 |
---|---|
条目 DN | cn=index_name,cn=userRoot,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的 LDAP 过滤器 |
默认值 | |
语法 | DirectoryString |
示例 | vlvFilter:( |
4.4.4.12. vlvIndex(Object Class)
浏览索引 或虚拟列表视图(VLV)索引 会动态生成条目标头的缩写索引,从而更快地显示大型索引。VLV 索引定义有两个部分:一个定义索引,另一个部分定义用于标识要添加到索引的条目的搜索。vlvIndex
对象类定义索引条目。
这个对象类在 Directory Server 中定义。
卓越的类
top
OID
2.16.840.1.113730.3.2.42
属性 | 定义 |
---|---|
objectClass | 定义条目的对象类。 |
cn | 给出条目的通用名称。 |
标识浏览索引(虚拟列表视图索引)的属性列表。 |
属性 | 定义 |
---|---|
存储浏览索引的可用性。 | |
包含浏览索引的计数。 |
4.4.4.13. vlvScope
此属性设置搜索范围,以运行浏览或虚拟列表视图(VLV)索引中的条目。
有关 VLV 索引的更多信息,请参阅管理指南 中的索引 章节。
参数 | 描述 |
---|---|
条目 DN | cn=index_name,cn=userRoot,cn=ldbm database,cn=plugins,cn=config |
有效值 | * 1(单级别或子搜索) * 2(子树搜索) |
默认值 | |
语法 | 整数 |
示例 | vlvScope: 2 |
4.4.4.14. vlvSearch(对象类)
浏览索引 或虚拟列表视图(VLV)索引 会动态生成条目标头的缩写索引,从而更快地显示大型索引。VLV 索引定义有两个部分:一个定义索引,另一个部分定义用于标识要添加到索引的条目的搜索。vlvSearch
对象类定义搜索过滤器条目。
这个对象类在 Directory Server 中定义。
卓越的类
top
OID
2.16.840.1.113730.3.2.38
属性 | 定义 |
---|---|
objectClass | 定义条目的对象类。 |
标识用于浏览索引的基本 DN。 | |
标识用于定义浏览索引的范围。 | |
标识用来定义浏览索引的过滤器字符串。 |
属性 | 定义 |
---|---|
multiLineDescription | 给出条目的文本描述。 |
4.4.4.15. vlvSort
此属性为浏览或虚拟列表视图(VLV)索引中返回的条目设置排序顺序。
这个属性的条目是 vlvIndex
条目,在 vlvSearch
条目下。
有关 VLV 索引的更多信息,请参阅管理指南 中的索引 章节。
参数 | 描述 |
---|---|
条目 DN | cn=index_name,cn=index_name,cn=userRoot,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何目录服务器属性,位于空格分隔的列表 |
默认值 | |
语法 | DirectoryString |
示例 | vlvSort: cn givenName o sn |
4.4.4.16. vlvUses
vlvUses
属性包含浏览索引使用的计数,而 Directory Server 会在运行时设置此属性。虽然 vlvUses
在配置中显示,但您无法修改此属性。
有关 VLV 索引的更多信息,请参阅管理指南 中的索引 章节。
参数 | 描述 |
---|---|
条目 DN | cn=index_name,cn=userRoot,cn=ldbm database,cn=plugins,cn=config |
有效值 | N/A |
默认值 | |
语法 | DirectoryString |
示例 | vlvUses: 800 |
4.4.5. database Attributes in cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config
此树节点条目中的属性都是只读、数据库性能计数器。除 entrycachehits
和 entrycachetries
外,这些属性的所有值都是 32 位整数。
如果在 上将
cn=config
中的 nsslapd-counters
属性设为,那么 Directory Server 实例使用 64 位整数保存的一些计数器,即使在 32 位机器,或使用 32 位版本的 Directory Server 上。对于数据库监控,entrycachehits
和 entrycachetries
计数器使用 64 位整数。
nsslapd-counters
属性对这些特定数据库和服务器计数器启用 64 位支持。使用 64 位整数的计数器不可配置,可为所有允许的计数器启用 64 位整数。
nsslapd-db-abort-rate
此属性显示已中止的事务数量。
nsslapd-db-active-txns
此属性显示当前处于活跃状态的事务数量。
nsslapd-db-cache-hit
此属性显示缓存中找到的请求页面。
nsslapd-db-cache-try
此属性显示总缓存查找。
nsslapd-db-cache-region-wait-rate
此属性显示,在获取区域锁定前强制等待控制线程的次数。
nsslapd-db-cache-size-bytes
此属性显示总缓存大小(以字节为单位)。
nsslapd-db-clean-pages
此属性显示当前在缓存中的清理页面。
nsslapd-db-commit-rate
此属性显示已提交的事务数量。
nsslapd-db-deadlock-rate
此属性显示所检测到的死锁数量。
nsslapd-db-dirty-pages
此属性显示当前在缓存中的脏页面。
nsslapd-db-hash-buckets
此属性显示缓冲区散列表中的散列 bucket 数量。
nsslapd-db-hash-elements-examine-rate
此属性显示了在哈希表查找过程中遍历的散列元素总数。
nsslapd-db-hash-search-rate
此属性显示缓冲区散列表查找总数。
nsslapd-db-lock-conflicts
此属性显示因为冲突而不能立即可用的锁定总数。
nsslapd-db-lock-region-wait-rate
此属性显示,在获取区域锁定前强制等待控制线程的次数。
nsslapd-db-lock-request-rate
此属性显示请求的锁定总数。
nsslapd-db-lockers
此属性显示当前锁定数。
nsslapd-db-log-bytes-since-checkpoint
此属性显示自上次检查点以来写入此日志的字节数。
nsslapd-db-log-region-wait-rate
此属性显示,在获取区域锁定前强制等待控制线程的次数。
nsslapd-db-log-write-rate
此属性显示写入此日志的兆字节数和字节数。
nsslapd-db-longest-chain-length
此属性显示缓冲区散列查找中遇到的最长链。
nsslapd-db-page-create-rate
此属性显示缓存中创建的页面。
nsslapd-db-page-read-rate
此属性显示读取到缓存中的页面。
nsslapd-db-page-ro-evict-rate
此属性显示强制从缓存进行的清理页面。
nsslapd-db-page-rw-evict-rate
此属性显示从缓存强制进行脏页面。
nsslapd-db-page-trickle-rate
此属性显示使用 memp_trickle
接口编写的脏页面。
nsslapd-db-page-write-rate
此属性显示读取到缓存中的页面。
nsslapd-db-pages-in-use
此属性显示当前正在使用的所有页面清理或脏数据。
nsslapd-db-txn-region-wait-rate
此属性显示在获取区域锁定前强制等待控制的次数。
currentdncachecount
此属性显示 DN 缓存中当前存在的 DN 数量。
currentdncachesize
此属性显示 DN 缓存中当前存在的总大小(以字节为单位)。
maxdncachesize
此属性显示可在数据库 DN 缓存中维护的最大大小(以字节为单位)。
4.4.6. database Attributes in cn=monitor,cn=userRoot,cn=ldbm database,cn=plugins,cn=config
此树节点条目中的属性都是只读、数据库性能计数器。
如果在 上将
cn=config
中的 nsslapd-counters
属性设为,那么 Directory Server 实例使用 64 位整数保存的一些计数器,即使在 32 位机器,或使用 32 位版本的 Directory Server 上。对于数据库监控,entrycachehits
和 entrycachetries
计数器使用 64 位整数。
nsslapd-counters
属性对这些特定数据库和服务器计数器启用 64 位支持。使用 64 位整数的计数器不可配置,可为所有允许的计数器启用 64 位整数。
dbfilecachehit-number
此属性提供了执行该文件中需要数据的搜索以及从缓存中成功获取数据的次数。此属性名称中的数字与 dbfilename
中的数字对应。
dbfilecachemiss-number
此属性提供了执行该文件中需要数据的搜索的次数,并且无法从缓存中获取数据。此属性名称中的数字与 dbfilename
中的数字对应。
dbfilepagein-number
此属性提供了从此文件分配给缓存的页面数量。此属性名称中的数字与 dbfilename
中的数字对应。
dbfilepageout-number
此属性提供了从缓存写入磁盘中的此文件的页面数量。此属性名称中的数字与 dbfilename
中的数字对应。
currentDNcachecount
缓存 DN 的数量。
currentDNcachesize
当前 DN 缓存的大小(以字节为单位)。
DNcachehitratio
在缓存中找到的 DN 百分比。
DNcachehits
在缓存中找到的 DNS。
DNcachemisses
在缓存中没有找到 DNS。
DNcachetries
自实例启动以来缓存查找总数。
maxDNcachesize
nsslapd-ndn-cache-max-size
参数的当前值。有关如何更新此设置的详情,请参考 第 3.1.1.130 节 “nsslapd-ndn-cache-max-size”。
4.4.7. database Attributes in cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config
一组默认索引存储在其中。每个后端配置了默认索引,以便为大多数设置场景优化目录服务器功能。所有索引(除系统必要外)都可以被删除,但应该仔细考虑,因为不会造成不必要的中断。有关索引的详情,请参考 Red Hat Directory Server Administration Guide 中的"管理索引"一章。
4.4.7.1. cn
此属性向 index 提供属性的名称。
参数 | 描述 |
---|---|
条目 DN | cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的索引 cn |
默认值 | 无 |
语法 | DirectoryString |
示例 | cn: aci |
4.4.7.2. nsIndex
此对象类在后端数据库中定义一个索引。这个对象在 Directory Server 中定义。
卓越的类
top
OID
2.16.840.1.113730.3.2.44
属性 | 定义 |
---|---|
objectClass | 定义条目的对象类。 |
cn | 给出条目的通用名称。 |
确定索引是否为系统定义的索引。 |
属性 | 定义 |
---|---|
description | 给出条目的文本描述。 |
标识索引类型。 | |
标识匹配的规则。 |
4.4.7.3. nsIndexType
此可选多值属性指定 Directory 服务器操作的索引类型,并使用要索引的属性值。每个所需索引类型都必须在单独的行中输入。
参数 | 描述 |
---|---|
条目 DN | cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | * pres = 存在索引 * EQ = 相等的索引 * approx = approximate 索引 * sub = 子字符串索引 * 匹配规则 = 国际索引 * 索引浏览 = 浏览索引 |
默认值 | |
语法 | DirectoryString |
示例 | nsIndexType: eq |
4.4.7.4. nsMatchingRule
此可选多值属性指定匹配规则名称或 OID 的排序,用于匹配值并为属性生成索引键。这最常用于确保等同范围搜索能够为英语以外的语言(7-bit ASCII)正确工作。
这还用于允许范围搜索在 schema 定义中指定顺序匹配规则的整数语法属性。uidNumber
和 gidNumber
是从属于此类别的两个常用属性。
例如,对于使用整数语法的 uidNumber
,rule 属性可以是 nsMatchingRule: integerOrderingMatch
。
在保存更改且使用 db2index
重新构建索引后,对此属性的任何更改都不会生效,在 Red Hat Directory Server Administration Guide的"Managing Indexes"一章中详细介绍了详情。
参数 | 描述 |
---|---|
条目 DN | cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何有效的 collation order 对象标识符(OID) |
默认值 | 无 |
语法 | DirectoryString |
示例 | nsMatchingRule: 2.16.840.1.113730.3.3.2.3.1(适用于 Bulgarian) |
4.4.7.5. nsSystemIndex
这个强制属性指定索引是否为 系统索引 (对于 Directory Server 操作至关重要的索引)。如果此属性的值为 true
,则它是 system-essential。系统索引不应该被删除,因为这会严重破坏服务器功能。
参数 | 描述 |
---|---|
条目 DN | cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config |
有效值 | true | false |
默认值 | |
语法 | DirectoryString |
示例 | nssystemindex: true |
4.4.8. database Attributes in cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config
除了存储在 cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config
之外,可以为用户定义的后端实例创建自定义索引;它们存储在 cn=index,cn=name,cn=ldbm database,cn=plugins,cn=config
.每个索引属性代表 cn=config
信息树节点的子条目,如下图所示:
图 4.2. 索引属性代表子条目
例如,o=UserRoot
下的 aci
属性的索引文件会出现在 Directory Server 中,如下所示:
dn:cn=aci,cn=index,cn=UserRoot,cn=ldbm database,cn=plugins,cn=config objectclass:top objectclass:nsIndex cn:aci nsSystemIndex:true nsIndexType:pres
这些条目共享 第 4.4.7 节 “database Attributes in cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config” 中默认索引中列出的所有索引属性。有关索引的详情,请参考 Red Hat Directory Server Administration Guide 中的"管理索引"一章。
4.4.8.1. nsIndexIDListScanLimit
此多值参数定义了特定索引的搜索限制或不使用 ID 列表。如需更多信息,请参阅 Directory Server Performance Tuning Guide 中的对应部分。
参数 | 描述 |
---|---|
条目 DN | cn=attribute_name,cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 请参阅 Directory Server Performance Tuning Guide 中的对应部分。 |
默认值 | |
语法 | DirectoryString |
示例 | nsIndexIDListScanLimit: limit=0 type=eq values=inetorgperson |
4.4.8.2. nsSubStrBegin
默认情况下,要索引搜索,搜索字符串必须至少为三个字符,而不计算任何通配符字符。例如,字符串 abc
将是一个索引的搜索,而 ab*
不是。索引搜索的速度比未索引搜索要快,因此更改搜索的最小长度有助于增加索引搜索数量。
可以根据任何通配符字符的位置编辑此子字符串长度。nsSubStrBegin
属性在通配符之前为搜索字符串的开头设置索引搜索所需的字符数。例如:
abc*
如果更改了此属性的值,则必须使用 db2index
来重新生成索引。
参数 | 描述 |
---|---|
条目 DN | cn=attribute_name,cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何整数 |
默认值 | 3 |
语法 | 整数 |
示例 | nsSubStrBegin: 2 |
4.4.8.3. nsSubStrEnd
默认情况下,要索引搜索,搜索字符串必须至少为三个字符,而不计算任何通配符字符。例如,字符串 abc
将是一个索引的搜索,而 ab*
不是。索引搜索的速度比未索引搜索要快,因此更改搜索的最小长度有助于增加索引搜索数量。
可以根据任何通配符字符的位置编辑此子字符串长度。nsSubStrEnd
属性在通配符后面为搜索字符串的末尾设置索引搜索所需的字符数。例如:
*xyz
如果更改了此属性的值,则必须使用 db2index
来重新生成索引。
参数 | 描述 |
---|---|
条目 DN | cn=attribute_name,cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何整数 |
默认值 | 3 |
语法 | 整数 |
示例 | nsSubStrEnd: 2 |
4.4.8.4. nsSubStrMiddle
默认情况下,要索引搜索,搜索字符串必须至少为三个字符,而不计算任何通配符字符。例如,字符串 abc
将是一个索引的搜索,而 ab*
不是。索引搜索的速度比未索引搜索要快,因此更改搜索的最小长度有助于增加索引搜索数量。
可以根据任何通配符字符的位置编辑此子字符串长度。nsSubStrMiddle
属性设置索引搜索所需的字符数,其中搜索字符串中间使用通配符。例如:
ab*z
如果更改了此属性的值,则必须使用 db2index
来重新生成索引。
参数 | 描述 |
---|---|
条目 DN | cn=attribute_name,cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 任何整数 |
默认值 | 3 |
语法 | 整数 |
示例 | nsSubStrMiddle: 3 |
4.4.9. database Attributes in cn=attributeName,cn=encrypted attributes,cn=database_name,cn=ldbm database,cn=plugins,cn=config
nsAttributeEncryption
对象类允许对数据库中的属性进行选择加密。通过例行访问控制措施,如信用卡号码和政府标识号等极为敏感信息可能不够保护。通常,这些属性值存储在数据库中 CLEAR 中;加密它们存储了另一层保护。这个对象类具有一个属性 nsEncryptionAlgorithm
,它设置每个属性使用的加密密码。每个加密属性代表上述 cn=config
信息树节点的子条目,如下图所示:
图 4.3. 在 cn=config 节点下加密属性
例如,o=UserRoot
下的 userPassword
属性的数据库加密文件会出现在 Directory Server 中,如下所示:
dn:cn=userPassword,cn=encrypted attributes,o=UserRoot,cn=ldbm database, cn=plugins,cn=config objectclass:top objectclass:nsAttributeEncryption cn:userPassword nsEncryptionAlgorithm:AES
要配置数据库加密,请参阅 Red Hat Directory Server Administration Guide 中的"配置目录数据库"一章的"数据基准加密"部分。有关索引的更多信息,请参阅 Red Hat Directory Server Administration Guide 中的"管理索引"章节。
4.4.9.1. nsAttributeEncryption(对象类)
此对象类用于识别和加密目录服务器数据库中所选属性的核心配置条目。
这个对象类在 Directory Server 中定义。
卓越的类
top
OID
2.16.840.1.113730.3.2.316
objectClass | 定义条目的对象类。 |
cn | 指定使用其通用名称加密的属性。 |
使用的加密密码。 |
4.4.9.2. nsEncryptionAlgorithm
nsEncryptionAlgorithm
选择由 nsAttributeEncryption
使用的密码。该算法可以按加密属性设置。
参数 | 描述 |
---|---|
条目 DN | cn=attributeName,cn=encrypted attributes,cn=database_name,cn=ldbm database,cn=plugins,cn=config |
有效值 | 以下是支持的密码: * 高级加密标准块 Cipher(AES) * 条带化数据加密标准块 Cipher(3DES) |
默认值 | |
语法 | DirectoryString |
示例 | nsEncryptionAlgorithm: AES |