【问题标题】:Elasticsearch: How to query for number of connections?Elasticsearch:如何查询连接数?
【发布时间】:2016-07-05 20:38:45
【问题描述】:

我如何询问我的 Elasticsearch 服务器现在打开了多少连接?

这和socket的数量一样吗? (我也不知道如何得到这些数字)

这和客户端的数量不同,对吧,因为每个客户端可能会打开多个连接?

找不到任何相关信息,但我确实发现您可以在 Elasticsearch 客户端为每个客户端指定一个 maxSockets:https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/configuration.html

【问题讨论】:

    标签: curl networking elasticsearch get connection


    【解决方案1】:

    请求层使用 RESTful API,因此在处理任何请求后连接不会保持打开状态。

    因此,如果您想衡量 Elasticsearch 正在处理多少并发请求(无论是查询、索引还是批量),您可能需要监控每个节点上的 thread_pool:

    https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html

    或者您是否在寻找发现层的更多信息?

    【讨论】:

    • 啊。谢谢。我没有意识到 ES 不提供客户端和节点之间的持久连接。所以我认为客户端总是为每个操作建立一个到 ES 节点的新连接?
    • 不,你是对的——我正在研究客户端-服务器连接,而不是发现层(看起来像是节点-节点)
    • “请求层使用 RESTful API,因此在处理任何请求后连接不会保持打开状态。” HTTP 请求+响应完成后,HTTP TCP/IP 连接可以保持打开状态。
    • 连接不会保持打开状态“因为 restful api”的假设是不正确的。任何表现良好的 Elasticsearch 客户端都会使用 HTTP keepalive 来避免每次请求都重新连接。
    【解决方案2】:

    ES 没有连接数。
    但是你可以得到一些关于 ES 健康的信息,更多信息here:

    curl 'localhost:9200/_cat/health?v'
    

    您可以获得关于分片、段、索引、搜索计数等的扩展统计信息...更多信息here

    curl -XGET 'http://localhost:9200/_stats'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-05
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      相关资源
      最近更新 更多