Значение API-интерфейса профиля времени ElasticSearch выше, чем время выполнения - PullRequest
0 голосов
/ 30 августа 2018

Я использую API профиля ElasticSearch, чтобы помочь с медленным запросом.

Когда я читаю документы профилирования эластичного поиска , это звучит как значение time_in_nanos для запросов в шардах, которое должно быть меньше, чем общее took время при выполнении запроса профилирования.

Однако я получил следующие результаты:

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

Итак, я вижу, что запрос took 109695 мс ~ = 109 секунд, что кажется правильным.

Однако я вижу значение 1550750786163 для time_in_nanos, которое соответствует более чем 20 минутам. Это не соответствует значению took. Команда curl заняла около 2 минут, поэтому время took кажется точным, а время time_in_nanos не точным.

Как правильно интерпретировать значение time_in_nanos в запросе профиля ElasticSearch?

ES версия: 5.6

1 Ответ

0 голосов
/ 07 сентября 2018

Согласно хранилищу Elastic search Github, временные характеристики профиля являются результатом выборки. Поскольку они отбираются, необработанные временные числа могут быть неточными для больших запросов.

Однако эти числа можно использовать для сравнения частей запроса с другими частями запроса, чтобы определить относительный расход соответствующих частей.

Источник: https://github.com/elastic/elasticsearch/issues/33489

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...