ElasticSearch配置文件API的“ time_in_nanoseconds”值高于“获取”时间

时间:2018-08-30 02:08:16

标签: elasticsearch elasticsearch-5

我正在使用ElasticSearch配置文件API来帮助进行缓慢的查询。

当我阅读the elasticsearch profiling docs时,听起来好像分片中的查询的time_in_nanos值应小于运行概要分析查询时的总took时间。

但是,我得到了以下结果:

{
  "took": 109695,
   ...
  "profile": {
    "shards": [
       {
         "searches": [
           {
             "query": [
               {
                 "type": "BooleanQuery",
                 "time": "1550750.786ms",
                 "time_in_nanos": 1550750786163
                 ...
               }
             ]
           }
         ]
       }
       ...
     ]
  }
}

因此,我发现查询took 109695 ms〜= 109秒似乎是正确的。

但是,我看到1550750786163的{​​{1}}值对应time_in_nanos分钟。这与20值不匹配。 took命令耗时约2分钟,因此curl时间似乎准确,而took时间似乎并不准确。

在ElasticSearch配置文件查询中解释time_in_nanos值的正确方法是什么?

ES版本:5.6

1 个答案:

答案 0 :(得分:1)

根据Elastic search Github存储库,配置文件计时是采样的结果。由于是对它们进行采样,因此原始时序编号可能不适用于大型查询。

但是,这些数字可用于将查询的各个部分与查询的其他部分进行比较,以确定各个部分的相对费用。

来源:https://github.com/elastic/elasticsearch/issues/33489