Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Модули индексирования

Нагрузка при индексировании

Индексирование документов в Elasticsearch создаёт нагрузку на систему в виде использования памяти и процессора. Каждая операция индексирования включает этапы координации, первичного и реплицирующего узлов. Эти этапы могут выполняться на нескольких узлах кластера.

Нагрузка при индексировании может нарастать из-за внешних операций, таких как запросы индексирования, или внутренних механизмов, таких как восстановления и кросс-кластерной репликации. Если в систему поступает слишком много работы по индексированию, кластер может перегрузиться. Это может негативно повлиять на другие операции, такие как поиск, координацию кластера и фоновое выполнение.

Для предотвращения этих проблем Elasticsearch внутренне отслеживает нагрузку при индексировании. Когда нагрузка превышает определённые пределы, новые запросы индексирования отклоняются.

Этапы индексирования

Внешние операции индексирования проходят три этапа: координации, первичного и реплицирующего. См. Базовая модель записи.

Пределы памяти

Настройка узла indexing_pressure.memory.limit ограничивает количество байтов, доступных для ожидающих запросов индексирования. По умолчанию это значение составляет 10% от объёма кучи.

В начале каждого этапа индексирования Elasticsearch учитывает количество байтов, потреблённых запросом индексирования. Это учитывается только по окончании этапа индексирования. Это означает, что этапы выше по потоку будут учитывать запрос до тех пор, пока все этапы ниже не завершатся. Например, запрос координации будет учитываться до тех пор, пока не завершатся этапы первичного и реплицирующего узлов. Запрос первичного узла будет учитываться до тех пор, пока каждый синхронизированный реплицирующий узел не ответит, чтобы разрешить повторные попытки репликации при необходимости.

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

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

Значение по умолчанию для настройки indexing_pressure.memory.limit (10%) достаточно велико. Вы должны изменять его только после тщательного рассмотрения. Только запросы индексирования влияют на этот предел. Это означает, что существует дополнительная нагрузка на индексирование (буферы, слушатели и т. д.), которые также требуют памяти кучи. Другие компоненты Elasticsearch также требуют памяти. Установка этого предела слишком высокой может лишить другие операции и компоненты оперативной памяти.

Мониторинг

Вы можете использовать API статистики узлов кластера для получения метрик нагрузки при индексировании.

Настройки нагрузки при индексировании

indexing_pressure.memory.limit logo cloud
Количество ожидающих байтов, которые могут быть потреблены запросами индексирования. Когда этот предел достигается или превышается, узел отклонит новые операции координации и первичного узла. Когда операции репликации потребляют 1,5 раза этот предел, узел отклонит новые операции репликации. По умолчанию это значение равно 10% от объёма кучи.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/index-modules-indexing-pressure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API