免费注册
帮助文档(华北一、二)

  • 索引(indices)部分列出了这个节点上所有索引的聚合过的统计值 :

     
    "indices": {         
      "docs": {            
        "count": 0,            
        "deleted": 0         
      },         
      "store": {            
        "size_in_bytes": 0,            
        "throttle_time_in_millis": 0         
      },

    ● docs 展示节点内存有多少文档,包括还没有从段里清除的已删除文档数量。

    ● store 部分显示节点耗用了多少物理存储。这个指标包括主分片和副本分片在内。如果限流时间很大,那可能表明你的磁盘限流设置得过低。

     
    "indexing": {                     
      "index_total": 2,                     
      "index_time_in_millis": 146,                     
      "index_current": 0,                     
      "index_failed": 0,                     
      "delete_total": 1,                     
      "delete_time_in_millis": 6,                     
      "delete_current": 0,                     
      "noop_update_total": 0,                     
      "is_throttled": false,                     
      "throttle_time_in_millis": 0                 
    },                 
      "get": {                     
      "total": 2,                     
      "time_in_millis": 7,                     
      "exists_total": 2,                     
      "exists_time_in_millis": 7,                     
      "missing_total": 0,                     
      "missing_time_in_millis": 0,                     
      "current": 0                 
    },                 
    "search": {                     
      "open_contexts": 0,                     
      "query_total": 50,                     
      "query_time_in_millis": 74,                     
      "query_current": 0,                     
      "fetch_total": 40,                     
      "fetch_time_in_millis": 25,                     
      "fetch_current": 0,                     
      "scroll_total": 0,                     
      "scroll_time_in_millis": 0,                     
      "scroll_current": 0,                     
      "suggest_total": 0,                     
      "suggest_time_in_millis": 0,                    
      "suggest_current": 0                 
    },                 
    "merges": {                     
      "current": 0,                     
      "current_docs": 0,                     
      "current_size_in_bytes": 0,                     
      "total": 0,                     
      "total_time_in_millis": 0,                     
      "total_docs": 0,                     
      "total_size_in_bytes": 0,                     
      "total_stopped_time_in_millis": 0,                     
      "total_throttled_time_in_millis": 0,                     
      "total_auto_throttle_in_bytes": 104857600                 
    },

    ● indexing 显示已经索引了多少文档。这个值是一个累加计数器,在文档被删除时,数值不会下降,在发生文档更新等内部索引操作时,值会增加。此外还列出了索引操作耗费的时间,正在索引的文档数量,以及删除操作的类似统计值。

    ● get 显示通过 ID 获取文档的接口相关的统计值。包括对单个文档的 GET 和 HEAD 请求。

    ● search 描述在活跃中的搜索(open_contexts)数量、查询的总数量、以及自节点启动以来在查询上消耗的总时间。用 query_time_in_millis / query_total 计算的比值,可以用来粗略的评价你的查询有多高效。比值越大,每个查询花费的时间越多,你应该要考虑调优了。

    ● fetch 统计值展示了查询处理的后一半流程(query-then-fetch 里的 fetch)。如果 fetch 耗时比 query 还多,说明磁盘较慢,或者获取了太多文档,或者可能搜索请求设置了太大的分页(比如,size: 10000)。

    ● merges 包括了 Lucene 段合并相关的信息。它会告诉你目前在运行几个合并,合并涉及的文档数量,正在合并的段的总大小,以及在合并操作上消耗的总时间。

    ● 在你的集群写入压力很大时,合并统计值非常重要。合并要消耗大量的磁盘 I/O 和 CPU 资源。如果你的索引有大量的写入,同时又发现大量的合并数,一定要去阅读索引性能技巧。

     
    "filter_cache": {            
        "memory_size_in_bytes": 48,            
        "evictions": 0         
      },         
      "fielddata": {            
        "memory_size_in_bytes": 0,            
        "evictions": 0         
      },         
      "segments": {            
        "count": 319,            
        "memory_in_bytes": 65812120         
      },         
      ...

    ● filter_cache 展示了已缓存的过滤器位集合所用的内存数量,以及过滤器被驱逐出内存的次数。过多的驱逐数 可能 说明你需要加大过滤器缓存的大小,或者你的过滤器不太适合缓存(比如它们因为高基数而在大量产生,就像是缓存一个 now 时间表达式)。

    ● 不过,驱逐数是一个很难评定的指标。过滤器是在每个段的基础上缓存的,而从一个小的段里驱逐过滤器,代价比从一个大的段里要廉价的多。有可能你有很大的驱逐数,但是它们都发生在小段上,也就意味着这些对查询性能只有很小的影响。把驱逐数指标作为一个粗略的参考。如果你看到数字很大,检查一下你的过滤器,确保他们都是正常缓存的。不断驱逐着的过滤器,哪怕都发生在很小的段上,效果也比正确缓存住了的过滤器差很多。

    ● field_data 显示 fielddata 使用的内存, 用以聚合、排序等等。这里也有一个驱逐计数。和 filter_cache 不同的是,这里的驱逐计数是很有用的:这个数应该或者至少是接近于 0。因为 fielddata 不是缓存,任何驱逐都消耗巨大,应该避免掉。如果你在这里看到驱逐数,你需要重新评估你的内存情况,fielddata 限制,请求语句,或者这三者。

    ● segments 会展示这个节点目前正在服务中的 Lucene 段的数量。 这是一个重要的数字。大多数索引会有大概 50–150 个段,哪怕它们存有 TB 级别的数十亿条文档。段数量过大表明合并出现了问题(比如,合并速度跟不上段的创建)。注意这个统计值是节点上所有索引的汇聚总数。

    ● memory 统计值展示了 Lucene 段自己用掉的内存大小。 这里包括底层数据结构,比如倒排表,字典,和布隆过滤器等。太大的段数量会增加这些数据结构带来的开销,这个内存使用量就是一个方便用来衡量开销的度量值。


文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家