solr的optimize操作导致性能骤降

原创 2016年08月30日 20:18:15
    问题描述:之前的一个项目中使用kettle将数据库中的数据抽取到solr中,最初数据量很少的情况下速度很快,但是在在抽取到几十万条数据以后,存到solr的速度骤降,变成每秒只有几条的龟速。
    我们将数据存到solr中的代码大概是下面这样:
        Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add(doc1);
docs.add(doc2);
........
server.add(docs);
server.optimize();
     最后发现问题就出在最后的optimize这句上面,去掉后存到solr的速度稳定在1000条/S。


    optimize到底干了什么? 该如何使用?
        查资料才发现,optimize其实是个很重量级的操作,执行optimize操作后solr会进行索引数据的合并来优化查询性能,如果索引数据很大,optimize则会花费很多的时间,如果你在批量提交文档后每次都进行optimize操作,无疑提交速度会越来越慢,最后甚至导致solr不再响应你的提交请求。另外,如果你的服务是主从模式,那么对master的optimize还会导致整个索引块同步到replica上,影响就更加可想而知了。

optimize操作可以优化查询性能,所以还是有用的,可以在服务不忙的时候在solr自带的控制台手动执行optimize操作,也可以写个定时任务来完成。

版权声明:本文为博主原创文章,未经博主允许不得转载。

solr的optimize()的作用

solr的optimize()的作用 solr的optimize操作导致性能下降
  • zouxucong
  • zouxucong
  • 2016年12月27日 11:26
  • 1358

solr教程,值得刚接触搜索开发人员一看

Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事...
  • awj3584
  • awj3584
  • 2013年11月26日 13:52
  • 215657

solr的Optimized

执行后会保证numdocs和maxdocs值相同, 优化过程是重建索引段, 将删除的doc从segment中彻底删除, 也就是合并.del 和 .liv文件...
  • asdfsadfasdfsa
  • asdfsadfasdfsa
  • 2017年12月07日 16:53
  • 142

全文检索引擎Solr系列——入门篇

Solr采用Lucene搜索库为核心,提供全文索引和搜索开源企业平台,提供REST的HTTP/XML和JSON的API,如果你是Solr新手,那么就和我一起来入门吧!本教程以solr4.8作为测试环境...
  • yjl33
  • yjl33
  • 2016年06月14日 09:44
  • 1993

solr占用CPU持续过高原因查询

线上java进程占用CPU忽高忽低,就是说一下子40%左右,一下子减下去。 这台服务器只有Solr,所以估计是Solr在GC。 # jstat -gcutil 2072 2s JVM名词...
  • unix21
  • unix21
  • 2016年05月11日 17:24
  • 1924

solr segment合并的一些心得

简单写一下最近看到的一个问题。 问题:solr段合并的时候,DocID的逻辑上有些许变化,有些不再是段中的DocId加上偏移量。定位:首先,solr的底层也都是调用的lucenne的代码,所以这一块就...
  • u011426341
  • u011426341
  • 2017年05月25日 23:06
  • 635

solr的相关操作(addDocument,flush,commit,rollback,optimize,close)解析

在solr中通常包含以下一些操作,包括显式的和隐式的操作 1、addDocument,对文档进行分析,分词处理,创建索引段segment,每当flush缓冲区中增加的文档,索引文件都会新建一个段se...
  • yangbutao
  • yangbutao
  • 2013年06月26日 15:36
  • 6835

solr大量索引信息导致搜索变慢

困扰好久,考虑过的方法有很多,包括修改mergeFactor,设置autowarm以及各种optimize索引的方法,但是效果都不明显。 今天参考到了两篇文章: http://www.ha...
  • Oliverkehl
  • Oliverkehl
  • 2014年02月28日 11:41
  • 2376

Solr 千万级大数据索引查询导致服务器崩溃的原因和解决

最近对老旧系统改造需要提高大数据量的查询速度,引入了solr。建了个28803309条的索引:但是查询时出现了后半部分数据无法全部查询出来:第0-10条可以查出来, solrQuery.setStar...
  • hikeboy
  • hikeboy
  • 2016年11月10日 17:48
  • 3179

solr的optimize操作导致性能骤降

问题描述:之前的一个项目中使用kettle将数据库中的数据抽取到solr中,最初数据量很少的情况下速度很快,但是在在抽取到几十万条数据以后,存到solr的速度骤降,变成每秒只有几条的龟速。     ...
  • java_zys
  • java_zys
  • 2016年08月30日 20:18
  • 2317
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:solr的optimize操作导致性能骤降
举报原因:
原因补充:

(最多只允许输入30个字)