第 6 章 管理数据库缓存设置
目录服务器使用以下缓存:
- Entry cache,其中包含单个目录条目。
- DN 缓存 用于将 DN 和 RDN 与条目相关联。
- 数据库缓存,其中包含数据库索引文件 192.168.1.0/24
db 和 the
db4
文件。
为了提高性能,所有缓存大小都必须能够存储其所有记录。如果不使用推荐的自动大小功能,且没有足够可用的 RAM,请在前面显示的顺序为缓存分配可用内存。
6.1. Database 和 Entry Cache Auto-Sizing 功能
默认情况下,Directory 服务器会自动决定数据库和条目缓存的最佳大小。在实例启动时,自动大小会根据服务器的硬件资源优化这两个缓存的大小。
重要
红帽建议使用自动调整设置。不要手动设置条目缓存大小。
6.1.1. 手动重新启用数据库和条目缓存自动大小
如果您从 10.1.1 之前的版本升级实例,或者之前手动设置条目缓存大小,您可以为条目缓存启用自动调整。
cn=config,cn=ldbm database,cn=plugins,cn=config 条目中的以下参数控制自动大小:
nsslapd-cache-autosize
- 这个设置控制是否为数据库和条目缓存启用自动大小。自动大小被启用:
- 对于数据库和条目缓存,如果
nsslapd-cache-autosize
参数设置为大于 0 的值。 - 对于数据库缓存,如果
nsslapd-cache-autosize
和nsslapd-dbcachesize
参数设置为 0。 - 对于条目缓存,如果
nsslapd-cache-autosize
和nsslapd-cachememsize
参数设置为 0。
nsslapd-cache-autosize-split
- 该值设定用于数据库缓存的 RAM 百分比。剩余百分比用于条目缓存。将 1.5 GB RAM 用于数据库缓存不会提高性能。因此,Directory 服务器会限制数据库缓存 1.5 GB。
启用数据库和条目缓存自动大小:
- 停止 Directory 服务器实例:
# systemctl stop dirsrv@instance_name
- 备份
/etc/dirsrv/slapd-instance_name/dse.ldif
文件:# cp /etc/dirsrv/slapd-instance_name/dse.ldif \ /etc/dirsrv/slapd-instance_name/dse.ldif.bak.$(date "+%F_%H-%M-%S")
- 编辑
/etc/dirsrv/slapd-instance_name/dse.ldif
文件:- 设置用于数据库和条目缓存的可用系统 RAM 百分比。例如,设置 10%:
nsslapd-cache-autosize: 10
注意如果将nsslapd-cache-autosize
参数设置为 0, 还必须设置:- cn=config,cn=ldbm database,cn=plugins,cn=config 条目中的
nsslapd-dbcachesize
到 0, 以启用 auto-sized 数据库缓存。 - cn=database_name,cn=ldbm database,cn=plugins,cn=config 条目中的
nsslapd-cachememsize
到 0, 以便为数据库启用自动条目缓存。
- 另外,还可为数据库缓存设置可用系统 RAM 中所使用的百分比。例如,设置 40%:
nsslapd-cache-autosize-split: 40
目录服务器将剩余的 60% 的可用内存用于条目缓存。 - 保存更改。
- 启动 Directory 服务器实例:
# systemctl start dirsrv@instance_name
例 6.1. nsslapd-cache-autosize
和 nsslapd-cache-autosize-split
Parameter
以下设置是这两个参数的默认设置:
nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40
使用这些设置时,将使用系统的可用 RAM 的 10%(
nsslapd-cache-autosize
)。在这个内存中,40% 用于数据库缓存(nsslapd-cache-autosize-split
),剩余的 60% 用于条目缓存。
根据可用 RAM,这会导致以下缓存大小:
可用 RAM 的 GB
|
数据库缓存大小
|
条目缓存大小
|
---|---|---|
1 GB
|
40 MB
|
62 MB
|
2 GB
|
82 MB
|
122 MB
|
4 GB
|
164 MB
|
245 MB
|
8 GB
|
328 MB
|
492 MB
|
16 GB
|
512 MB[a]
|
1,126 MB
|
32 GB
|
512 MB [a]
|
2,764 MB
|
64 GB
|
512 MB [a]
|
6,042 MB
|
128 GB
|
512 MB [a]
|
12,596 MB
|
[a]
目录服务器为 nsslapd-dbcachesize 参数应用 512 MB 限制。
|