📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

async_search.active.context.reaper_interval 配置项控制异步搜索活跃上下文清理器(Active Context Reaper)的运行间隔。该清理器负责检查并清理已过期或超时运行的异步搜索上下文,释放相关资源。

配置项类型 #

该配置项为静态配置,修改后需要重启节点才能生效。

默认值 #

5m(5分钟)

是否必需 #

可选配置项

取值范围 #

5s ~ 无限制
最小值:5秒

工作原理 #

异步搜索允许长时间运行的查询在后台执行。每个异步搜索都会创建一个搜索上下文(Context),包含搜索状态和中间结果。上下文清理器的工作包括:

  1. 定期检查:按照配置的间隔检查所有活跃的异步搜索上下文
  2. 识别过期上下文:找出已超过过期时间或最大运行时间的上下文
  3. 资源释放:释放过期上下文占用的内存和 CPU 资源
  4. 异步清理:清理操作异步执行,不阻塞正常的搜索请求

使用示例 #

# 默认配置(每5分钟清理一次)
async_search.active.context.reaper_interval: 5m

# 更频繁的清理(每1分钟清理一次)
async_search.active.context.reaper_interval: 1m

# 较少清理(每10分钟清理一次)
async_search.active.context.reaper_interval: 10m

# 最小间隔(每5秒清理一次)
async_search.active.context.reaper_interval: 5s

推荐设置建议 #

推荐使用默认值 5m

特殊情况调整:

# 高并发、大量异步搜索场景
# 可能需要更频繁的清理以防止资源积累
async_search.active.context.reaper_interval: 3m

# 异步搜索量较少的场景
# 可以使用较长间隔减少后台任务开销
async_search.active.context.reaper_interval: 10m

配置影响 #

设置值资源释放速度系统开销适用场景
较小(如 1m)较高大量异步搜索,内存紧张
默认(5m)适中适中通用场景
较大(如 10m+)较低少量异步搜索,内存充足

相关配置项 #

  • async_search.max_keep_alive:异步搜索结果的最大保留时间
  • async_search.max_search_running_time:异步搜索的最大运行时间
  • async_search.node_concurrent_running_searches:每个节点并发运行的异步搜索数量

注意事项 #

  1. 静态配置:修改此配置需要重启节点才能生效
  2. 最小值限制:设置值不能小于 5 秒
  3. 资源平衡:间隔过小会增加后台任务开销,间隔过大会导致过期上下文占用资源时间过长
  4. 监控建议:建议监控异步搜索上下文的数量和内存使用情况,根据实际情况调整此参数