Link Search Menu Expand Document Documentation Menu

重新限流

您可以使用以下 API 动态更改已运行的 _reindex_update_by_query_delete_by_query 操作的 requests_per_second

端点

POST /_delete_by_query/{task_id}/_rethrottle
POST /_reindex/{task_id}/_rethrottle
POST /_update_by_query/{task_id}/_rethrottle

路径参数

参数 数据类型 描述
task_id 字符串 要重新限流的运行中任务的唯一标识符。

查询参数

参数 数据类型 描述
requests_per_second 浮点型 要应用于任务的新限流值。使用 -1 禁用限流。可选。

示例请求:重新限流运行中的按查询删除任务

POST /_delete_by_query/<YOUR_TASK_ID>/_rethrottle?requests_per_second=10

示例请求:重新限流运行中的重新索引任务

POST /_reindex/<YOUR_TASK_ID>/_rethrottle?requests_per_second=20

示例请求:重新限流运行中的按查询更新任务

POST /_update_by_query/<YOUR_TASK_ID>/_rethrottle?requests_per_second=5

示例响应

以下响应提供了关于活动 update_by_query 任务的详细信息

{
  "nodes": {
    "bvv8SKpiRhOhF9_Bu8gZ7w": {
      "name": "opensearch-node1",
      "transport_address": "172.18.0.4:9300",
      "host": "172.18.0.4",
      "ip": "172.18.0.4:9300",
      "roles": [
        "cluster_manager",
        "data",
        "ingest",
        "remote_cluster_client"
      ],
      "attributes": {
        "shard_indexing_pressure_enabled": "true"
      },
      "tasks": {
        "bvv8SKpiRhOhF9_Bu8gZ7w:640": {
          "node": "bvv8SKpiRhOhF9_Bu8gZ7w",
          "id": 640,
          "type": "transport",
          "action": "indices:data/write/update/byquery",
          "status": {
            "total": 4785,
            "updated": 1000,
            "created": 0,
            "deleted": 0,
            "batches": 1,
            "version_conflicts": 0,
            "noops": 0,
            "retries": {
              "bulk": 0,
              "search": 0
            },
            "throttled_millis": 0,
            "requests_per_second": 50,
            "throttled_until_millis": 2146
          },
          "description": "update-by-query [test-rethrottle] updated with Script{type=inline, lang='painless', idOrCode='ctx._source.new_field = 'updated'', options={}, params={}}",
          "start_time_in_millis": 1751310547697,
          "running_time_in_nanos": 9567425129,
          "cancellable": true,
          "cancelled": false,
          "headers": {
            "X-Opaque-Id": "1b911516-44cd-4920-8c1e-79368ea7cdfd"
          },
          "resource_stats": {
            "average": {
              "cpu_time_in_nanos": 0,
              "memory_in_bytes": 0
            },
            "total": {
              "cpu_time_in_nanos": 0,
              "memory_in_bytes": 0
            },
            "min": {
              "cpu_time_in_nanos": 0,
              "memory_in_bytes": 0
            },
            "max": {
              "cpu_time_in_nanos": 0,
              "memory_in_bytes": 0
            },
            "thread_info": {
              "thread_executions": 0,
              "active_threads": 0
            }
          }
        }
      }
    }
  }
}

响应正文字段

响应提供了关于重新限流操作的详细任务和节点级别信息。

字段 数据类型 描述
节点 对象 节点 ID 到每个节点上任务详细信息的映射。
nodes.<node_id>.name 字符串 任务运行所在的节点名称。
nodes.<node_id>.transport_address 字符串 节点的传输地址。
nodes.<node_id>.host 字符串 主机 IP 地址。
nodes.<node_id>.ip 字符串 IP 地址和端口。
nodes.<node_id>.roles 数组 分配给节点的角色。
nodes.<node_id>.attributes 对象 节点级别属性。
nodes.<node_id>.tasks 对象 任务 ID 到每个任务详细信息的映射。
nodes.<node_id>.tasks.<task_id>.type 字符串 任务类型,例如 transport
nodes.<node_id>.tasks.<task_id>.action 字符串 正在执行的特定操作(例如,reindex)。
nodes.<node_id>.tasks.<task_id>.status 对象 任务的当前状态。
nodes.<node_id>.tasks.<task_id>.status.total 整数 要处理的文档总数。
nodes.<node_id>.tasks.<task_id>.status.created 整数 已创建的文档数。
nodes.<node_id>.tasks.<task_id>.status.updated 整数 已更新的文档数。
nodes.<node_id>.tasks.<task_id>.status.deleted 整数 已删除的文档数。
nodes.<node_id>.tasks.<task_id>.status.batches 整数 已处理的批次数。
nodes.<node_id>.tasks.<task_id>.status.version_conflicts 整数 版本冲突数。
nodes.<node_id>.tasks.<task_id>.status.noops 整数 无操作更新数。
nodes.<node_id>.tasks.<task_id>.status.retries 对象 批量和搜索操作的重试统计信息。
nodes.<node_id>.tasks.<task_id>.status.requests_per_second 浮点型 当前每秒请求的限流速率。
nodes.<node_id>.tasks.<task_id>.status.throttled_millis 整数 任务被限流的时间(毫秒)。
nodes.<node_id>.tasks.<task_id>.status.throttled_until_millis 整数 任务预计保持限流状态的时间(毫秒)。
nodes.<node_id>.tasks.<task_id>.description 字符串 任务的人类可读描述。
nodes.<node_id>.tasks.<task_id>.start_time_in_millis 整数 任务开始时间(纪元毫秒)。
nodes.<node_id>.tasks.<task_id>.running_time_in_nanos 整数 任务运行时间(纳秒)。
nodes.<node_id>.tasks.<task_id>.cancellable 布尔型 任务是否可以取消。
nodes.<node_id>.tasks.<task_id>.cancelled 布尔型 任务是否已取消。
nodes.<node_id>.tasks.<task_id>.headers 对象 与任务关联的可选 HTTP 头。
nodes.<node_id>.tasks.<task_id>.resource_stats 对象 资源使用统计。