ElasticSearch配置文件API`time_in_nanoseconds`值高于`take`时间

问题描述 投票:1回答:1

我正在使用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秒似乎是正确的。

但是,我看到1550750786163time_in_nanos值对应于20分钟。这与took值不匹配。 curl命令花了大约2分钟,所以took时间似乎准确,而time_in_nanos时间似乎不准确。

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

ES版本:5.6

elasticsearch elasticsearch-5
1个回答
1
投票

根据Elastic搜索Github存储库,配置文件时序是采样的结果。由于它们是经过采样的,因此对于大型查询,原始时序数可能不准确。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.