第 7 章 调整 IdM 目录服务器性能
您可以通过调整 LDAP 属性来控制目录服务器的资源和行为来调整身份管理数据库的性能。
要调整目录服务器缓存数据的方式,请参阅以下步骤:
要调整 Directory 服务器的资源限值,请参阅以下步骤:
要调整对性能有最大影响的超时设置,请参阅以下步骤:
要安装一个带有来自 LDIF 文件中的自定义 Directory 服务器设置的 IdM 服务器或副本,请参阅以下步骤:
7.1. 调整条目缓存大小
红帽建议您使用内置缓存自动缩放功能来优化性能。只有在需要与自动调整的值分离时才会更改这个值。
nsslapd-cachememsize
属性指定条目缓存的可用内存空间大小(以字节为单位)。这个属性是控制目录服务器使用的物理 RAM 最重要的值之一。
如果条目缓存太小,您可能在 Directory Server 错误日志中看到以下错误: /var/log/dirsrv/slapd-INSTANCE-NAME/errors
:
REASON: entry too large (83886080 bytes) for the import buffer size (67108864 bytes). Try increasing nsslapd-cachememsize.
红帽建议在内存中安装条目缓存和数据库索引条目缓存。
默认值 |
|
有效范围 |
|
条目 DN 位置 |
|
先决条件
- LDAP Directory Manager 密码
流程
禁用自动缓存调整。
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://server.example.com backend config set --cache-autosize=0
显示数据库后缀及其对应的后端。
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list cn=changelog (changelog) dc=example,dc=com (userroot) o=ipaca (ipaca)
这个命令显示每个后缀旁的后端数据库名称。在下一步中使用后缀的数据库名称。
为数据库设置条目缓存大小。这个示例将 userroot 数据库的条目缓存设置为 2GB。
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix set --cache-memsize=2147483648 userroot
重启 Directory 服务器。
[root@server ~]# systemctl restart dirsrv.target
-
监控 IdM 目录服务器的性能。如果它没有以理想的方式改变,请重复这个过程并将
cache-memsize
调整为不同的值,或者重新启用缓存自动大小。
验证
显示
nsslapd-cachememsize
属性的值,并将其设置为您所需的值。[root@server ~]# ldapsearch -D "cn=directory manager" -w DirectoryManagerPassword -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cachememsize nsslapd-cachememsize: 2147483648
其他资源
- Directory Server 11 文档中的 nsslapd-cachememsize
- 重新启用条目和数据库缓存自动大小