Я использую Solr 7.6 с девятью репликами и одним осколком.
Когда мы запускаем нашу полную индексацию, немногие из наших узлов переходят в режим восстановления и остаются в состоянии восстановления навсегда.
У нас есть 90 тысяч родительских документов, и у каждого родительского документа 300 детей.
parent doc size: 15kB
child doc size: 500B
total time of full indexing: 36-39 mins
batch size: max 1000(parent docs which include 300 children each) = 1000*300
The number of threads used for full indexing: 10
Average total docs indexed/second: 2400 Parent docs * 300 children
параметр фиксации:
autosoftcommit maxtime: 30s
autocommit maxtime: 1min
numRecordsToKeep: 100
Каждый из десяти потоков выбирает данные из Cassandra и создает документ для индексации. Как только у потока есть 1000 родительских документов (с 300 дочерними объектами), готовых для индексации в своем списке буферов, он передает данные в Solr с помощью API обновления.
При указанных выше настройках 2-3 узла переходят в состояние восстановления при запуске задания полной индексации.
У меня есть несколько вопросов:
- Какое количество записей я могу индексировать в секунду для кластера с одним и тем же сегментом, с моим размером документа?
- Нужно ли уменьшать количество потоков?
или размер партии?