一尘不染

如何监视每个滚动ID的滚动API使用的资源?调用clearScroll Api时会发生什么

elasticsearch

如何监视每个滚动ID的滚动API所使用的内存资源或搜索上下文?这些搜索上下文存储在哪里,有没有办法查看或监视它们?参数keepAlive对java api
public SearchRequest scroll(TimeValue keepAlive){…}意味着什么

参考:https :
//www.elastic.co/guide/zh-CN/elasticsearch/client/java-rest/6.5/java-rest-
high-clear-scroll.html#java-rest-high-clear-scroll-
async


阅读 210

收藏
2020-06-22

共1个答案

一尘不染

您可以通过调用Node stats
API
来检查当前打开了多少搜索上下文,但是(据我所知)无法查看它们使用了多少内存:

GET _nodes/stats/indices?filter_path=**.open_contexts

=>

{
  "nodes" : {
    "QjjWj45NQkGC9qcaylDDVQ" : {
      "indices" : {
        "search" : {
          "open_contexts" : 0
        }
      }
    },
    "eZbpkckXSxSxzD8c_QOkEA" : {
      "indices" : {
        "search" : {
          "open_contexts" : 3
        }
      }
    },
    "0VFJaC2uTraudPCMqODhiw" : {
      "indices" : {
        "search" : {
          "open_contexts" : 2
        }
      }
    }
  }
}

搜索上下文存储在堆中。

此外,该keepAlive参数指示上下文在自动清除之前在内存中保持可用状态的时间。

2020-06-22