首页 > 代码库 > LDAP索引及缓存优化
LDAP索引及缓存优化
一、设置索引
索引将查找信息和 Directory Server 条目关联起来。
Directory Server支持以下几种索引:
1出现索引 (pres) - 列出了具有特定属性的条目,与属性的值无关。
2等式索引 (eq) - 使您能够高效地搜索包含特定属性值的条目。
3近似索引 (approx) - 通过使用 ~= 过滤运算符提供了高效的“音似”搜索功能。
例如,近似索引对于搜索部分名称或拼错的名称很有用。Directory Server 使用
变音位语音算法的一个变体来执行近似索引搜索。
4子串索引 (sub) - 提供高效的属性值子字符串搜索,如cn=*john*。这种索引的
维护成本很高,因为每个值都有许多可能的子字符串。子字符串索引中每个条目的字符数不能少于两个。
5匹配规则索引 - 通过将本地化的匹配规则(也称为排序顺序)的OID与要索引的属性相关联,以加快在国际目录中的搜索速度。
6浏览索引 - 缩短在使用虚拟列表视图 (VLV) 控件执行搜索时的响应时间。可以
在目录树中任意的分支点上创建浏览索引,以便提高那些密集填充的子树(例
如ou=People,dc=example,dc=com)的显示性能。
二、 设置缓存
目录服务器将目录信息缓存到内存中或磁盘上,以便能够更快地对客户机请求作出响应。正确调整的缓存能够将处理客户机请求时对访问磁盘子系统的要求降至最低。
LDAP支持三种类型的缓存:
1数据库缓存 -每个Directory Server实例具有一个数据库缓存,以数据库格式存放索引和条目。每个 Directory Server 实例具有一个数据库缓存。数据库缓存可存放页面,此页面来自包含索引和条目的数据库。每页不是一个条目,而是包含部分数据库的内存扇区。指定数据库缓存大小 (nsslapd-dbcachesize)。对数据库缓存大小所作的更改在重新启动服务器以后生效,且服务器启动时分配数据库缓存空间。
2条目缓存 -每个后缀具有一个条目缓存,存放早先操作过程中从数据库检索到的条目,并将其格式化以便快速发送给客户机应用程序。条目缓存存放最近访问的条目,并将其格式化以传递到客户机应用程序。指定后缀的条目缓存大小 (nsslapd-cachememsize) 和条目的最大数量(nsslapd-cachesize)。
3导入缓存 –每个Directory Server实例具有一个与数据库缓存类似的导入缓存,在批量加载过程中使用。