Таким образом, есть несколько факторов, которые вы должны контролировать:
1) Проверьте вашу массовую производительность с помощью curl -X GET http://localhost:9200/_cat/thread_pool
, вы получите, сколько записей в очереди и сколько записей было отклонено. Проверьте это для получения дополнительной информации. В соответствии с вашим трафиком установите размер очереди и размер очереди индекса как , упомянутый здесь .
thread_pool.bulk.size: 24
thread_pool.bulk.queue_size: 200
thread_pool.index.size : 24
thread_pool.index.queue_size : 200
Здесь 24 - число процессоров, которые должны использоваться всеми процессорами.
2) Один развышеупомянутые настройки выполнены, Elasticsearch просто примет ваш запрос навалом и поставит все ваши данные в очередь в соответствии с указанным размером.Но как только ваш трафик превысит ваш объем очереди, он снова начнет отклоняться.Поэтому убедитесь, что вы делаете постоянный массовый запрос через определенный интервал.
3) Увеличьте интервал обновления.По умолчанию он установлен в 1 с, что означает, что ваш документ будет доступен для поиска через одну секунду, но это дорогостоящая операция, поэтому сделайте его 30 с или более, который подходит для вашего кластера ES.Таким образом, ваш документ будет доступен для поиска через 30 секунд.
4) Для получения дополнительной информации вы можете обратиться к этому https://gist.github.com/ashishtiwari1993/004a19f4a44efc214403a7fc1ee27cda