Если очередь индексирования высока или выдает тайм-ауты, это указывает на то, что один или несколько узлов OpenSearch не справляются со скоростью индексирования.
Отклонение индексирования может произойти в результате медленного индексирования. OpenSearch отклоняет запросы на индексирование, когда количество запросов на индексирование в очереди превышает размер очереди. Для решения этой проблемы см. рекомендации ниже.
Возможные причины
Неоптимальная процедура индексации
Примените как можно больше советов по индексированию. В том числе из материалов на данном сайте.
Нерегулярное индексирование
Старайтесь избегать архитектур процессов, которые создают нерегулярную активность индексирования. Если возможно, используйте системы очередей, чтобы распределить нагрузку во времени.
Горячий узел
Если активность индексирования распределяется между узлами неравномерно, то проблема, скорее всего, связана с количеством шардов в индексе.
Например, в приложении для ведения журналов активность индексирования часто сосредоточена на индексе для сегодняшних журналов. Если этот индекс имеет небольшое количество шардов по отношению к количеству узлов данных в кластере, то вы можете обнаружить, что узлы, содержащие шарды этого индекса, работают интенсивно, в то время как другие узлы, не имеющие шардов для "горячего" индекса, менее загружены. В этом случае может быть полезно увеличить количество шардов для записываемого индекса, чтобы распределить активность индексирования по большему числу узлов.
Как именно это реализовать, зависит от способа управления индексами. Например: Если индексы работают по времени, вы можете просто увеличить количество шардов в шаблоне индекса и ждать, пока будет создан следующий индекс.
Использование ILM также является хорошим решением этой проблемы, поскольку вы можете указать количество шардов, а затем определить политику, чтобы OpenSearch перевернул индекс и отрегулировал количество шардов в соответствии с предопределенной политикой. С другой стороны, если индекс не зависит от времени, то может потребоваться создать новый индекс с большим количеством шардов и переиндексировать его, либо изменить основу, на которой приложение управляет своими индексами.
Как предотвратить медленное индексирование
Чтобы этого не произошло, вы можете попытаться оптимизировать процесс индексирования. Если вы оптимизировали процесс индексирования и шарда, но ваши узлы по-прежнему работают с перебоями, вы можете попробовать добавить новые узлы данных в кластер, но это может не решить проблему окончательно.