In indexing tests using Solrj, 2 Solandra nodes are performing worse than 1.
- Each node is -Xms1G -Xmx12G
- Single index; Index is ~10M docs; each doc is ~4KB in size with a unique id. I built up the index to about 6M on a single node, then added a new node to the ring and used "move" to assign new tokens to balance.
- Using all Solandra default configs - for example: solandra.maximum.docs.per.shard = 1048576, solandra.index.id.reserve.size = 16384, solandra.shards.at.once = 4
- Nodetool ring shows:node1 Up Normal 35.11 GB 50.00% 0, node2 Up Normal 54.5 GB 50.00% 85070591730234615865843651857942052864
- Indexing performance: single node: 166 docs/s 2 nodes(sending to single node): 111 docs/s 2 nodes (sending to both in parallel): 55 docs/s (see note below)
(note) I was sending batches of 100K (a batch is building up a list of SolrInputDocuments + commit on whole list), and when I switched to batches of 10K, there was some performance improvement to 98 docs/s
Some questions:
- In general, for both indexing & searching, how can I get Solandra to perform better with more than 1 node?
- Why does indexing performance degrade with 2 nodes versus 1? When should I expect a performance upgrade?
- What is the recommended way to index documents with Solandra- sending to a single node in the ring or to multiple nodes?
- What is the recommended way to query with Solandra- sending query requests to a single node or multiple nodes?
- Send all query requests to a single node in a 2 node cluster performs roughly the same as a single node cluster - any ideas why?