Solrj 为什么Solandra 2节点集群的索引性能比单节点集群差?

Solrj 为什么Solandra 2节点集群的索引性能比单节点集群差?,solrj,solandra,Solrj,Solandra,在使用Solrj的索引测试中,2个Solandra节点的性能比1个节点差 每个节点都是-Xms1G-Xmx12G 单一指标;索引为~10M文档;每个文档大小约为4KB,具有唯一的id。我在单个节点上将索引设置为约6M,然后在环中添加一个新节点,并使用“移动”将新令牌分配给余额 使用所有Solandra默认配置-例如:Solandra.maximum.docs.per.shard=1048576,Solandra.index.id.reserve.size=16384,Solandra.shar

在使用Solrj的索引测试中,2个Solandra节点的性能比1个节点差

  • 每个节点都是-Xms1G-Xmx12G
  • 单一指标;索引为~10M文档;每个文档大小约为4KB,具有唯一的id。我在单个节点上将索引设置为约6M,然后在环中添加一个新节点,并使用“移动”将新令牌分配给余额
  • 使用所有Solandra默认配置-例如:Solandra.maximum.docs.per.shard=1048576,Solandra.index.id.reserve.size=16384,Solandra.shards.at.once=4
  • Nodetool环显示:node1向上正常35.11 GB 50.00%0,node2向上正常54.5 GB 50.00%8507059173023461585843651857942052864
  • 索引性能: 单节点:166个文档/秒 2个节点(发送到单个节点):111个文档/秒 2个节点(并行发送到两个节点):55个文档/秒(见以下注释)
(注意)我发送了10万个批次(一个批次正在建立SolrInputDocuments+commit on the whole list的列表),当我切换到10万个批次时,性能提高到98个文档/秒

一些问题:

  • 一般来说,对于索引和搜索,如何使Solandra在使用多个节点时表现更好
  • 为什么索引性能会随着2个节点而降低,而不是1个节点?我应该在什么时候期望性能升级
  • 使用Solandra索引文档的推荐方法是什么?发送到环中的单个节点还是多个节点
  • 建议使用Solandra进行查询的方法是什么?向单个节点或多个节点发送查询请求
  • 将所有查询请求发送到2节点集群中的单个节点执行与单个节点集群大致相同的操作-知道为什么吗