Запрос Elasticsearch по нескольким индексам очень медленный - PullRequest
2 голосов
/ 24 января 2020

Вопрос : Я создаю один индекс с одним осколком в день для Elasticsearch. Когда я выполняю запросы по этим показателям за несколько дней, это происходит очень медленно. Может ли кто-нибудь, кто внедрил подобную архитектуру, дать некоторые рекомендации о том, что можно изменить, чтобы сделать запросы более эффективными?

Описание системы:

  • Использование asticsearch hot-hot-cold архитектура для индексы времени
  • Один индекс данных в день около 140 МБ
  • Один осколок на индекс.
  • Индекс остается в горячей фазе в течение 1 дня
  • С с 1 по 60 день он находится в теплой фазе
  • С 60 по 180 день индекс переходит в холодную фазу. После этого он удаляется
  • Показатели работоспособности нашего кластера ES выглядят просто отлично. Кажется, он не слишком загружен ЦП, нехватка памяти

Ниже описаны машины в кластере. high IO используются в фазе HOT. высокий объем хранения используется в теплой и холодной фазах. Данные реплицируются в двух регионах, как показано на рисунке.

enter image description here

Описание проблемы:

Когда я выполняю запрос по этим индексам, запрос очень медленно. Чтобы проиллюстрировать это, я выполнил запрос для одного _id . Это займет более 40 секунд. Изображение ниже - это вывод kibana этого запроса.

enter image description here

Мне кажется, что ES не выполняет запрос каждого индекса параллельно. Так как, когда я go к профилировщику, общее время, которое требуется, кажется суммой времен для каждого из индексов. Ниже представлено изображение, отражающее результаты профилировщика при запросе _id

enter image description here

, также размещенное на дискуссионном форуме ES: https://discuss.elastic.co/t/elasticsearch-query-over-multiple-indexes-very-slow/216520

1 Ответ

0 голосов
/ 25 февраля 2020

Для тех, у кого может быть такая же проблема, я опубликую свое решение.

Моя проблема заключалась в компьютерах, которые я использовал для запуска ES. большой объем хранилища оказался значительно медленнее!

Я изменил тип развертывания, чтобы использовать только высокий IO , и больше ничего не менял, и он работает гладко сейчас.

Спасибо @ibexit за полезные отзывы

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