6.2. 确定所需的缓存大小
dsconf monitor dbmon 命令可让您在运行时监控缓存统计信息。
要显示统计信息,请输入:
# dsconf -D "cn=Directory Manager" ldap://server.example.com monitor dbmon DB Monitor Report: 2020-06-24 11:31:27 -------------------------------------------------------- Database Cache: - Cache Hit Ratio: 50% - Free Space: 397.31 KB - Free Percentage: 2.2% - RO Page Drops: 0 - Pages In: 2934772 - Pages Out: 219075 Normalized DN Cache: - Cache Hit Ratio: 60% - Free Space: 19.98 MB - Free Percentage: 99.9% - DN Count: 100000 - Evictions: 9282348 Backends: - dc=example,dc=com (userroot): - Entry Cache Hit Ratio: 66% - Entry Cache Count: 50000 - Entry Cache Free Space: 2.0 KB - Entry Cache Free Percentage: 0.8% - Entry Cache Average Size: 8.9 KB - DN Cache Hit Ratio: 21% - DN Cache Count: 100000 - DN Cache Free Space: 4.29 MB - DN Cache Free Percentage: 69.8% - DN Cache Average Size: 130.0 B
(可选)将
-b back_end
或 -x
选项传递给命令,以显示特定后端或索引的统计信息。
如果您的缓存的大小足够,则
DN Cache Count
中的数字与 Cache Count
后端条目中的值匹配。另外,如果所有条目和 DN 都适合其相应的缓存,则 Entry Cache Count
的值与 DN Cache Count
值匹配。
示例输出显示:
- 只有 2.2% 的空闲数据库缓存才会保留:
Database Cache: ... - Free Space: 397.31 KB - Free Percentage: 2.2%
但是,为了有效地操作,至少需要 15% 免费数据库缓存。要确定数据库缓存的最佳大小,请计算/var/lib/dirsrv/slapd-instance_name/db/
目录(包括子目录和 changelog 数据库)中所有,并将 12% 用于开销。要设置数据库缓存,请参阅 第 6.5 节 “设置数据库缓存大小”。 userroot
数据库的 DN 缓存是良好的选择:Backends: - dc=example,dc=com (userroot): ... - DN Cache Count: 100000 - DN Cache Free Space: 4.29 MB - DN Cache Free Percentage: 69.8% - DN Cache Average Size: 130.0 B
数据库的 DN 缓存包含 100000 记录,即缓存的 69,8% 可用,内存中的每个 DN 平均需要 130 字节。要设置 DN 缓存,请参阅 第 6.4 节 “设置 DN 缓存的大小”。userroot
数据库条目缓存的统计信息表示应提高条目缓存值以提高性能:Backends: - dc=example,dc=com (userroot): ... - Entry Cache Count: 50000 - Entry Cache Free Space: 2.0 KB - Entry Cache Free Percentage: 0.8% - Entry Cache Average Size: 8.9 KB
条目缓存包含在这个数据库 50000 记录中,仅保留有 2 个千字节可用空间。要启用目录服务器缓存所有 100000 DN,缓存必须增加到最小 890 MB(100000 DNs * 8,9 KB 平均条目大小)。但是,红帽建议将最低要求大小调整到下一个最高 GB 并加倍。在这个示例中,条目缓存应设置为 2 千兆字节。要设置条目缓存,请参阅 第 6.3 节 “手动设置 Entry Cache Size”。