Вопрос : Я создаю один индекс с одним осколком в день для Elasticsearch. Когда я выполняю запросы по этим показателям за несколько дней, это происходит очень медленно. Может ли кто-нибудь, кто внедрил подобную архитектуру, дать некоторые рекомендации о том, что можно изменить, чтобы сделать запросы более эффективными?
Описание системы:
- Использование asticsearch hot-hot-cold архитектура для индексы времени
- Один индекс данных в день около 140 МБ
- Один осколок на индекс.
- Индекс остается в горячей фазе в течение 1 дня
- С с 1 по 60 день он находится в теплой фазе
- С 60 по 180 день индекс переходит в холодную фазу. После этого он удаляется
- Показатели работоспособности нашего кластера ES выглядят просто отлично. Кажется, он не слишком загружен ЦП, нехватка памяти
Ниже описаны машины в кластере. high IO используются в фазе HOT. высокий объем хранения используется в теплой и холодной фазах. Данные реплицируются в двух регионах, как показано на рисунке.
Описание проблемы:
Когда я выполняю запрос по этим индексам, запрос очень медленно. Чтобы проиллюстрировать это, я выполнил запрос для одного _id . Это займет более 40 секунд. Изображение ниже - это вывод kibana этого запроса.
Мне кажется, что ES не выполняет запрос каждого индекса параллельно. Так как, когда я go к профилировщику, общее время, которое требуется, кажется суммой времен для каждого из индексов. Ниже представлено изображение, отражающее результаты профилировщика при запросе _id
, также размещенное на дискуссионном форуме ES: https://discuss.elastic.co/t/elasticsearch-query-over-multiple-indexes-very-slow/216520