Link Search Menu Expand Document Documentation Menu

热分片识别

热点分片识别的根本原因分析 (RCA) 允许您识别索引中的热点分片。热点分片是指消耗比其他分片更多资源的异常分片,可能导致索引和搜索性能不佳。热点分片识别 RCA 监控以下指标:

  • CPU 利用率
  • 堆分配速率

分片可能会因为您的工作负载性质而变热。当您使用 _routing 参数或自定义文档 ID 时,集群中的特定分片或多个分片会频繁接收更新,消耗比其他分片更多的 CPU 和堆资源。

热点分片识别 RCA 会将 CPU 利用率和堆分配速率与它们的阈值进行比较。如果任一指标的使用量超过阈值,则该分片被认为是“热点分片”。

有关热点分片识别 RCA 实现的更多信息,请参阅 热点分片 RCA

请求示例

以下查询请求热点分片识别:

GET _plugins/_performanceanalyzer/rca?name=HotShardClusterRca

示例响应

响应包含不健康分片的列表:

"HotShardClusterRca": [{
  "rca_name": "HotShardClusterRca",
  "timestamp": 1680721367563,
  "state": "unhealthy",
  "HotClusterSummary": [
    {
      "number_of_nodes": 3,
      "number_of_unhealthy_nodes": 1,
      "HotNodeSummary": [
        {
          "node_id": "7kosAbpASsqBoHmHkVXxmw",
          "host_address": "192.168.80.4",
          "HotResourceSummary": [
            {
              "resource_type": "cpu usage",
              "resource_metric": "cpu usage(num of cores)",
              "threshold": 0.027397981341796683,
              "value": 0.034449630200405396,
              "time_period_seconds": 60,
              "meta_data": "ssZw1WRUSHS5DZCW73BOJQ index9 4"
            },
            {
              "resource_type": "heap",
              "resource_metric": "heap alloc rate(heap alloc rate in bytes per second)",
              "threshold": 7605441.367010161,
              "value": 10872119.748328414,
              "time_period_seconds": 60,
              "meta_data": "ssZw1WRUSHS5DZCW73BOJQ index9 4"
            },
            {
              "resource_type": "heap",
              "resource_metric": "heap alloc rate(heap alloc rate in bytes per second)",
              "threshold": 7605441.367010161,
              "value": 8019622.354388569,
              "time_period_seconds": 60,
              "meta_data": "QRF4rBM7SNCDr1g3KU6HyA index9 0"
            }
          ]
        }
      ]
    }
  ]
}]

响应正文字段

下表列出了响应字段。

字段 类型 描述
rca_name 字符串 RCA 的名称。在此例中为 “HotShardClusterRca”。
时间戳 整数 RCA 的时间戳。
state 对象 由 RCA 确定的集群状态。state 可以是 healthy(健康)、unhealthy(不健康)或 unknown(未知)。
HotClusterSummary.HotNodeSummary.number_of_nodes 整数 集群中的节点数量。
HotClusterSummary.HotNodeSummary.number_of_unhealthy_nodes 整数 发现处于 unhealthy(不健康)状态的节点数量。
HotClusterSummary.HotNodeSummary.HotResourceSummary.resource_type 对象 导致不健康状态的资源类型,可以是“cpu usage”(CPU 使用率)或“heap”(堆)。
HotClusterSummary.HotNodeSummary.HotResourceSummary.resource_metric 字符串 resource_type 的定义。可以是“cpu usage(num of cores)”(CPU 使用率(核心数))或“heap alloc rate(heap alloc rate in bytes per second)”(堆分配速率(每秒字节堆分配速率))。
HotClusterSummary.HotNodeSummary.HotResourceSummary.threshold 浮点型 确定资源是否争用的值。
HotClusterSummary.HotNodeSummary.HotResourceSummary.value 浮点型 资源的当前值。
HotClusterSummary.HotNodeSummary.HotResourceSummary.time_period_seconds 时间 分片在被声明为健康或不健康之前被监控的时间量。
HotClusterSummary.HotNodeSummary.HotResourceSummary.meta_data 字符串 与 resource_type 关联的元数据。

在前面的示例响应中,meta_dataQRF4rBM7SNCDr1g3KU6HyA index9 0meta_data 字符串包含三个字段:

  • 节点名称:QRF4rBM7SNCDr1g3KU6HyA
  • 索引名称:index9
  • 分片 ID:0

这意味着节点 QRF4rBM7SNCDr1g3KU6HyA 上的索引 index9 的分片 0 是热点分片。

剩余 350 字符

有问题?

想贡献吗?