Иногда можно заметить, что процессор и нагрузка на некоторые координирующие узлы (клиентские узлы) выше, чем на другие.
Это может быть вызвано приложениями, которые неправильно распределяют нагрузку между координирующими узлами и выполняют все свои HTTP-вызовы только на одном или нескольких узлах.
Возможные последствия
Насыщенный координирующий узел может привести к увеличению задержки отклика на поиск или индексирование, а также к увеличению очереди записи/очереди поиска, когда кластер находится под нагрузкой (несмотря на наличие вычислительных мощностей на узлах данных). В конечном итоге это может привести к таймингу запросов.
Как решить эту проблему
Вы должны решить эту проблему, поставив балансировщик нагрузки перед узлами OpenSearch или включив ВСЕ узлы в клиентское приложение.
1 2 3 4 5 6 | os = OpenSearch( ['clientNode1', 'clientNode2','clientNode3'], http_auth=('user', 'secret'), scheme="https", port=443, ) |
В приведенном выше примере показано, как можно сбалансировать нагрузку на 3 узла (необходимо включить все узлы) при использовании python-клиента без балансировщика нагрузки. Все официальные клиенты OpenSearch используют подобные массивы в своей конструкции.