在弹性搜索中,为什么所用的时间会有所不同?

时间:2017-12-14 03:12:35

标签: elasticsearch aws-elasticsearch

在弹性搜索中,为什么所用时间会有所不同?

如果首次击中时间较长并且下次击中时间缩短,则可以。

所用时间从80毫秒增加到20毫秒再次增加到70?

以下是样本

**"took": 17,**
    "timed_out": false,
    "_shards": {
        "total": 246,
        "successful": 245,
我很困惑,真的不明白为什么和为什么?提前谢谢?

1 个答案:

答案 0 :(得分:1)

那么,在你的情况下,你搜索246个分片,所以你要么a)所有这些分片都在一个节点上,这意味着该节点上可能少于246个核心需要为所有这些分片提供服务,或者b)具有多个节点的集群。

在这两种情况下,由于不同的搜索查询,不同的网络延迟,争夺资源的其他进程(例如CPU),缓存命中/未命中,来自群集上其他用户的流量,您将在响应中遇到一些差异,操作系统内存管理,JVM垃圾收集,...列表相当长,这种行为对于执行Elasticsearch操作的分布式系统来说是完全正常的。

如果您必须维护系统,请定义一些您想要遵守的SLA。然后监控那些,只要你低于那个 - 不用担心。您可以查看一些选项,例如调整内存,线程池,GC和缓存设置,......列表也很长,但所有这些都要求您首先想出对行为的期望。你的系统,又称SLA。