【问题标题】:Elasticsearch aggregations slows down over timeElasticsearch 聚合随着时间的推移而变慢
【发布时间】:2014-05-06 16:51:38
【问题描述】:

当尝试在一个循环中使用多个聚合进行查询时,查询时间会变得非常慢。 结果应该给我每种类型的计数。

我发送的 JSON 是这样的

GET events / _search { "size": 0, "aggs": { "count_by_types_38": { "filter": { "term": { "data.campaign_id": 38 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_39": { "filter": { "term": { "data.campaign_id": 39 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_40": { "filter": { "term": { "data.campaign_id": 40 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_41": { "filter": { "term": { "data.campaign_id": 41 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_42": { "filter": { "term": { "data.campaign_id": 42 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_44": { "filter": { "term": { "data.campaign_id": 44 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_45": { "filter": { "term": { "data.campaign_id": 45 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_46": { "filter": { "term": { "data.campaign_id": 46 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_47": { "filter": { "term": { "data.campaign_id": 47 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } }, "count_by_types_48": { "filter": { "term": { "data.campaign_id": 48 } }, "aggs": { "field": { "terms": { "field": "_type", "min_doc_count": 0 } } } } }, "query": { "match_all": {} } }

对于循环中的每次迭代,我都会更改 data.campaign_id。

我尝试过使用较少数量的聚合,但它并没有真正改变任何东西。

8-12 次迭代大约需要 40 秒 ES 返回结果,然后我将其杀死。

如果我只使用一个聚合运行查询,则没有问题。

我做错了吗?

【问题讨论】:

  • 你检查过你的JVM的状态了吗?
  • A GET _nodes gives me "mem": { "heap_init_in_bytes": 268435456, "heap_max_in_bytes": 259719168, "non_heap_init_in_bytes": 24313856, "non_heap_max_in_bytes": 224395264, "direct_max_in_bytes": 259719168 }跨度>
  • 我说的更多是htop的日志还是监控工具
  • 好的。我的头插件说“集群健康:黄色(52 个中的 18 个)”。我真的不明白为什么它是黄色的
  • 它是黄色的,因为您还没有使用您的副本。如果您希望禁用副本,您可以在创建索引时指定。当然,禁用副本有其后果。

标签: elasticsearch


【解决方案1】:

问题是我的开发服务器太小了。

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 2021-07-22
    • 2014-07-28
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多