В индексных тестах с использованием Solrj 2 узла Solandra работают хуже, чем 1.
- Каждый узел имеет -Xms1G -Xmx12G
- Один индекс;Индекс составляет ~ 10 млн. Документов;каждый документ размером ~ 4 КБ с уникальным идентификатором.Я увеличил индекс до 6M на одном узле, затем добавил новый узел в кольцо и использовал «move» для назначения новых токенов для баланса.
- Использование всех стандартных конфигураций Solandra, например: solandra.Maximum.docs.per.shard = 1048576, solandra.index.id.reserve.size = 16384, solandra.shards.at.once = 4
- Показывает кольцо Nodetool: узел1 вверх нормальный 35,11 ГБ 50,00% 0,node2 Up Normal 54,5 ГБ 50,00% 85070591730234615865843651857942052864
- Производительность индексирования: один узел: 166 документов / с 2 узла (отправка на один узел): 111 документов / с 2 узла (отправка обоим параллельно): 55 документов /s (см. примечание ниже)
(примечание) Я отправлял пакеты по 100 КБ (пакет создает список SolrInputDocuments + коммит по всему списку), а когда я переключился на пакеты по 10 КБ,было достигнуто некоторое улучшение производительности до 98 документов / с
Некоторые вопросы:
- В целом, как для индексации, так и для поиска, как я могу добиться того, чтобы Solandra работала лучше с более чем 1 узлом?
- Почему производительность индексации снижается при 2 узлах против 1?Когда следует ожидать повышения производительности?
- Каков рекомендуемый способ индексирования документов с помощью Solandra - отправки на один узел в кольце или на несколько узлов?
- Каков рекомендуемый способзапрос с Solandra - отправка запросов на запрос одному узлу или нескольким узлам?
- Отправка всех запросов на один узел в кластере с двумя узлами выполняется примерно так же, как кластер с одним узлом - есть идеи почему?