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操作导致性能下降

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

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

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

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

以太坊智能合约Hello World示例程序

文章转自:http://www.cnblogs.com/huyouhengbc/p/5922093.html简介以太坊(Ethereum)是一提供个智能合约(smart contract)功能的公共区...
  • CSDN_AF
  • CSDN_AF
  • 2017年09月13日 11:34
  • 378

MapReduce运行中遇到的问题

1:运行mapreduce任务任务过程中,出现下面现象,为啥?  TaskAttempt killed because it ran on unusable nodehadoopserver13:80...
  • nysyxxg
  • nysyxxg
  • 2017年05月17日 10:26
  • 607

solr7.0性能测试报告

  • 2017年12月10日 21:28
  • 180KB
  • 下载

java操作solr的jar

  • 2017年01月09日 22:43
  • 245KB
  • 下载

Solr与MySQL查询性能对比

测试数据量:10407608 Num Docs: 10407608 在项目中一个最常用的查询,查询某段时间内的数据,SQL查询获取数据,30s左右 SELECT * FROM `tf_hotsp...
  • Truong
  • Truong
  • 2015年09月29日 14:01
  • 2682

solr 5.4.1 操作及相关的jar包

  • 2016年02月03日 17:46
  • 5.27MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:solr的optimize操作导致性能骤降
举报原因:
原因补充:

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