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

引用:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.5/java-rest-high-clear-scroll.html#java-rest-high-clear-scroll-async

最佳答案

您可以通过调用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参数告诉上下文在自动清除之前在内存中保持可用状态的时间。

关于elasticsearch - 如何监视滚动API为每个滚动ID使用的资源?调用clearScroll Api时会发生什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54886296/

10-17 01:01