3

背景:我们的系统在早上有一个高峰点,当我们收到大量的搜索、读取和写入请求时,可能会持续长达 10 个小时。

用例:我想在高峰时间之前强制进行垃圾收集。为此,我正在更新父断路器的集群设置

indices.breaker.total.limit: "55%" 参考

问题:但即使在 JVM 从 53% 增长到 56% 之后,正如您在下面的节点统计信息中看到的那样,JVM 也没有被垃圾收集。

获取 /_nodes/stats/jvm

"jvm": {
        "timestamp": 1554375659658,
        "uptime_in_millis": 10960191290,
        "mem": {
          "heap_used_in_bytes": 601959488,
          "heap_used_percent": 56,
          "heap_committed_in_bytes": 1065025536,
          "heap_max_in_bytes": 1065025536,
          "non_heap_used_in_bytes": 243082744,
          "non_heap_committed_in_bytes": 251510784,
          "pools": {
            "young": {
              "used_in_bytes": 11959328,
              "max_in_bytes": 69795840,
              "peak_used_in_bytes": 69795840,
              "peak_max_in_bytes": 69795840
            },
            "survivor": {
              "used_in_bytes": 1260248,
              "max_in_bytes": 8716288,
              "peak_used_in_bytes": 8716288,
              "peak_max_in_bytes": 8716288
            },
            "old": {
              "used_in_bytes": 588739912,
              "max_in_bytes": 986513408,
              "peak_used_in_bytes": 739896688,
              "peak_max_in_bytes": 986513408
            }
          }
        }

我不知道这是否是 AWS ElasticSearch 服务或核心 ES 结束时的问题。如果有任何其他方法可以强制进行垃圾收集,我可以试试。

4

1 回答 1

0

断路器不会强制垃圾收集,而是如果 elasticsearch 认为它会超过断路器限制,它将阻止执行操作。您可能需要检查日志以查看请求是否由于 CircuitBreakerExceptions 而失败。

参考:https ://www.elastic.co/guide/en/elasticsearch/reference/current/circuit-breaker.html

于 2021-11-02T07:33:53.577 回答