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

配置项作用 #

thread_pool.search.target_response_time 配置项用于控制搜索操作的目标响应时间

这是用于基于 Little’s Law 自动调整队列大小时的参考目标。

配置项属性 #

  • 配置路径: thread_pool.search.target_response_time
  • 数据类型: TimeValue(时间值)
  • 默认值: 1s(1 秒)
  • 是否可选: 是
  • 作用域: NodeScope(节点级别)
  • 动态更新: 否(已废弃)
  • 废弃状态: 已废弃

配置项详解 #

工作机制 #

目标响应时间作用

Little's Law 应用:
队列大小 = 吞吐量 × 平均响应时间


目标: 1s

实际响应 < 1s:
├── 系统负载低
├── 队列可以减小
├── 释放内存
└-- 优化资源


实际响应 > 1s:
├── 系统负载高
├── 队列需要增大
├── 提高吞吐量
└-- 满足目标


调整流程:
├── 收集统计 (frame_size 个任务)
├── 计算平均响应时间
├── 与目标 (1s) 比较
├── 调整队列大小
└-- 在 [min, max] 范围内

目标时间选择 #

不同目标时间的影响

target = 500ms:
├── 目标: 更快的响应
├── 队列: 倾向减小
├── 吞吐量: 可能降低
└-- 适用: 低延迟优先


target = 1s (默认):
├── 目标: 平衡
├── 队列: 自动调整
├-- 吞吐量: 良好
└-- 适用: 大多数场景 ✅


target = 2s:
├── 目标: 更高吞吐
├── 队列: 倾向增大
├-- 吞吐量: 提高
└-- 适用: 批处理场景


target = 10s:
├── 目标: 极高吞吐
├── 队列: 显著增大
├-- 吞吐量: 最高
└-- 适用: 后台任务

配置建议 #

默认配置(推荐) #

thread_pool:
  search:
    target_response_time: 1s  # 默认值

低延迟优先 #

thread_pool:
  search:
    target_response_time: 500ms

高吞吐优先 #

thread_pool:
  search:
    target_response_time: 2s

注意事项 #

  1. 已废弃: 配置项已废弃。

  2. 最小值: 最小值为 10ms。

  3. 与队列调整配合: 影响自动队列调整的方向。

  4. 合理设置: 根据实际 SLA 需求设置。