【发布时间】:2016-08-27 07:56:33
【问题描述】:
我有 Elasticsearch v 2.2.0 集群、1 个节点、4g 堆大小、7g RAM、2 个 cpu 核心、401 个索引、1,873 个分片、107,780,287 个文档,总数据 70.19GB。
我还配置了 indices.fielddata.cache.size: 40%。
问题是当我使用 Kibana 查询某些东西(非常简单的查询)时,如果它是单个查询,它工作正常,但如果我继续查询更多 - 弹性变得如此缓慢并最终卡住,因为JVM 堆使用率(来自 Marvel)达到 87-95%。当我尝试加载一些 Kibana 仪表板时也会发生这种情况,这种情况的唯一解决方案是重新启动弹性服务或 clear all cache。
为什么堆会这样卡住?
编辑:
_node/stats when heap is stuck
_node/stats when cluster in normal state
编辑 2:
为了更好地理解问题,我分析了内存转储。此分析是在集群尝试一些 Kibana 查询后执行的:
在某些索引中,我确实有 _ttl 的设置不起作用(_ttl 设置为 4 周,但文档仍然存在......)。从那以后,我更改了默认映射,但没有删除“不工作的 ttl”索引。
这可能是主要问题吗?
【问题讨论】:
-
你能简要分享一下
GET /_nodes/stats的结果吗?
标签: elasticsearch