Очереди OpenSearch: Мониторинг пулов потоков, размеров очередей и др.

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

Для чего используются очереди OpenSearch?

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

Примеры

Мониторинг пулов потоков с помощью API _cat:

Получение подробной информации о каждом пуле потоков, включая текущий размер:

Примечания

  • Очереди пула потоков являются одним из наиболее важных показателей, отслеживаемых в OpenSearch, поскольку они оказывают непосредственное влияние на производительность кластера и могут приостановить выполнение запросов на индексирование и поиск.
  • Размер конкретной очереди пула потоков может быть изменен с помощью параметров, характерных для конкретного типа.
  • Динамическое обновление параметров пула потоков через API настроек кластера невозможно. Скорее, это настройка на уровне узла, и она должна быть сконфигурирована внутри OpenSearch.yml на каждом узле, а после обновления требуется перезагрузка узла.

Общие проблемы

  • Наиболее распространенной проблемой, возникающей в OpenSearch в связи с очередями, является EsRejectedExecutionException, возникающая при переполнении очередей и неспособности узлов OpenSearch поддерживать скорость выполнения запросов. Это может привести к тому, что узлы перестанут отвечать на запросы. Для решения этой проблемы необходим постоянный мониторинг пулов потоков, и на основании данных о загруженности очередей пулов потоков может потребоваться пересмотр и контроль запросов на индексирование/поиск или увеличение ресурсов кластера.
  • В случае отказа от очереди массового индексирования увеличение размера очереди может привести к тому, что узел будет хранить в памяти больше данных, в результате чего запросы будут выполняться дольше и будет расходоваться больше места в куче. В результате это может повлиять на производительность и стабильность работы кластера.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий