Очередь отклоненных запросов Elasticsearch - причины и как их решить

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

Как решить проблему

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

  • Если отказ происходит только на определенных узлах данных, возможно, у вас проблемы с балансировкой нагрузки или шардом.
  • Если отказ связан с высокой загрузкой процессора, то это, как правило, следствие сборки мусора JVM, которая, в свою очередь, вызвана проблемами с конфигурацией или запросами.
  • Отказ от очереди, связанный с высокой нагрузкой на CPU, также может быть симптомом свопинга памяти на диск, если он не был отключен на узле должным образом.
  • Если в вашем кластере большое количество шардов, то, возможно, возникла проблема с избыточным шардингом. Чтобы узнать больше о том, как решить эту проблему, прочитайте статью Слишком маленькие шарды (Oversharding) - подробное руководство.
  • Возможно, будет полезно активировать регистрацию медленных поисковых запросов.

Чтобы минимизировать влияние проблемных узлов на поисковые запросы, убедитесь, что в вашем кластере (версии 6.1 и выше) установлены следующие настройки:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий