使用OpenDJ3.0,节省了大约300万个条目。我保存的条目实际上是具有ttl (也称为过期时间)的令牌。
我正在做的是尝试安排一个cron作业来定期搜索那些过期的令牌,并删除它们。
我正在使用OpenDJ sdk SimplePagedResultsControl执行分页搜索,pageSize=1000,timelimit=60秒,搜索过滤器是(token-ttl<=20170724234636.576Z)
我使用的搜索用户是默认的"cn=Directory管理器“,具有默认的资源限制设置。顺便说一句,token-ttl index I设置的条目限制是20000
但是,如果有两个许多令牌与过滤器匹配,则搜索将永远返回。
我尝试了ldapsearch实用程序,同样的结果。
有什么建议吗?
谢谢
发布于 2017-07-27 15:05:29
它看起来搜索是无索引的,并试图扫描整个数据库以搜索匹配的条目。通常情况下,您的搜索应该达到某个限制并被强制停止(就像游标读取限制:在数据库中读取了100000条记录之后)。
您可能会尝试在token-ttl属性上添加排序索引?搜索筛选器命中此属性会更快,但是更新此属性的任何操作都会稍微慢一点。这就是索引的权衡。
https://stackoverflow.com/questions/45293528
复制相似问题