SolrCloud DIH 性能
SolrCloud DIH performance
在 SolrCloud 中获得了 Solr 6.4.2 运行 并且对索引性能有一些疑问。
我正在使用 MSSql 作为数据源和最新的 JDBC MSSQL 驱动程序。
当 Solr 独立启动时,我的 DataImport 运行在 31250 docs/s
当 Solr 作为 SolrCloud(2 个副本)启动时,我的 DataImport 运行在 10000 docs/s
是否有任何配置参数对此有影响?
预计在 SolrCloud 中建立索引会比在独立 Solr 中建立索引慢(它也必须在副本中建立索引,因此存在额外的网络流量和延迟,而且 SolrCloud 还必须做其他事情) ,但您可以做一些事情来确保它尽可能快地运行:
- 您可以对索引进行分片。索引到多个分片应该更快(测试差异数字,在某些时候它会太多所以不要发疯)
- 将您的文档发送给分片负责人。索引首先在领导者处完成,因此如果您将文档发送给领导者,您将节省一些网络流量。当然,如果您使用的是 DIH,您几乎无法控制。除非您自定义 DIH 设置并有多个处理程序,否则每个处理程序只会索引一个分片的文档,并且您在分片节点上调用每个处理程序。
在 SolrCloud 中获得了 Solr 6.4.2 运行 并且对索引性能有一些疑问。
我正在使用 MSSql 作为数据源和最新的 JDBC MSSQL 驱动程序。
当 Solr 独立启动时,我的 DataImport 运行在 31250 docs/s 当 Solr 作为 SolrCloud(2 个副本)启动时,我的 DataImport 运行在 10000 docs/s
是否有任何配置参数对此有影响?
预计在 SolrCloud 中建立索引会比在独立 Solr 中建立索引慢(它也必须在副本中建立索引,因此存在额外的网络流量和延迟,而且 SolrCloud 还必须做其他事情) ,但您可以做一些事情来确保它尽可能快地运行:
- 您可以对索引进行分片。索引到多个分片应该更快(测试差异数字,在某些时候它会太多所以不要发疯)
- 将您的文档发送给分片负责人。索引首先在领导者处完成,因此如果您将文档发送给领导者,您将节省一些网络流量。当然,如果您使用的是 DIH,您几乎无法控制。除非您自定义 DIH 设置并有多个处理程序,否则每个处理程序只会索引一个分片的文档,并且您在分片节点上调用每个处理程序。