Solr复制很慢

时间:2015-10-06 10:29:25

标签: solr

我们有一台旧的Solr 3.6服务器,复制行为非常奇怪。

看图像。这就像超级慢。它说连接速度很慢,但实际上可能不是这样,因为即使在几分钟之后,下载的kb数量根本不会改变。

同样错误的是你看到总下载量为419 GB,这是整个索引,但我们并没有全部下载。

我可以看到“下载文件”在一秒钟内达到100%,其余的都是等待时间。即使它变得更快,等待时间总是在索引移动到下一个版本之前大约120秒。

它有时长时间保持这种状态(比如5到20分钟)然后突然就完成了。 有时很快就会这样。

我们有这样的复制配置:

<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="master">
<str name="enable">${solr.master.enable:false}</str>
<str name="replicateAfter">startup</str>
<str name="replicateAfter">commit</str>
</lst>
<lst name="slave">
<str name="enable">${solr.slave.enable:false}</str>
<str name="masterUrl">http://10.20.16.125:8080/solr/replication</str>
<str name="pollInterval">00:00:60</str>

enter image description here

1 个答案:

答案 0 :(得分:1)

导致此类问题的原因可能有以下几种:

    复制期间发生
  • java.lang.OutOfMemoryError (为了解决此类问题,请参阅&#34;如何处理内存不足问题&#34;在Apache Solr Cookbook中) ;
  • 频繁的段合并,可能由以下原因引起:

下一步我建议:

  1. 在Solr服务器日志中验证是否存在OutOfMemory或其他有趣的错误。
  2. 验证优化执行的频率(您的代码中是否有触发器?);
  3. 将合并系数降低为2(<mergeFactor>**2**</mergeFactor>
  4. 尝试<useCompoundFile>true</useCompoundFile>将告诉Solr更多地使用复合索引结构,从而减少创建索引的文件数量和所需的合并数量。
  5. 验证是否为您的Solr / Lucene版本打开了一些合并政策错误。
  6. this answer中可以找到一些其他有趣的信息。