Вы не упоминаете методологию, которую вы используете для подачи данных в ES, поэтому трудно понять, используете ли вы конвейер приема или какую технологию для преодоления разрыва.Учитывая это, я буду придерживаться общего совета по оптимизации загрузки в Elasticsearch .
. Elastic опубликовал некоторые рекомендации по оптимизации систем для приема внутрь, и есть три момента, которые мынайденное действительно имеет значение:
- Отключить реплики : установите число реплик равным нулю при одновременном повреждении данных, чтобы исключить необходимость копировать данные и наносить им вред.Это настройка уровня индекса ("number_of_replicas")
- Не указывать идентификатор : из схемы базы данных неясно, сопоставляете ли вы какие-либо идентификаторы, но еслиВы можете избежать указания идентификатора документа в Elastic и позволить ему указывать свой собственный, что значительно повышает производительность.
- Использование параллельных групповых операторов : используйте BulkAPI для передачи данных в ES и подачи их несколькимипотоки, поэтому он всегда имеет более одного массового запроса для работы на стороне сервера.
Наконец, вы установили Kibana и контролировали ваши узлы, чтобы знать, чем они ограничены?В частности процессор или память?