SolrCloud在生产环境中生成索引缓慢的问题

索引生成系统之前一直很好,但最近生成速度却很慢,导致前些天的数据尚未更新,预算进行了以下操作
1.首先观测索引生成系统的日志,发现log在输入“开始创建”的时候等待了很长时间,于是将生产线程由1个调为3个,发现仍然很慢,于是开始检索生产代码,发现并没有什么问题
2.然后监测操作系统运行情况,查看了jvm,GC等情况,均无异常,然后netstat发现zk的连接数量很多,且大多数为WAIT状态的连接,果然这里有问题,于是查看zk日志,发现哪些wait的连接,不断连接-断开-再连接-再断开,猜测是因此导致正常的生产系统难以连接zk所致
3.想起前些天solr搜索系统添加了一个solr重连的机制,是不是不断重连机制未正常运转引起的,但发现zk的无效连接又不是java进程,不过抱着试一试的心态,还是暂时关闭了重连机制,但果然仍旧不行,zk一启动,无效链接便走起
4.于是开始从操作系统层面找问题,几经查询,发现是操作系统内核设置不当的原因,修改过后,果然不见了无效的链接
5.生产索引也开始变得正常,但是我发现索引在提交时依然很慢,查看代码,发现是使用的默认的硬提交的方式,改为软提交方式后,速度飞快,完美解决,而且NRT功能使得数据的更新展示更加及时
6.关于solr提交方式的原理分析,详见我另一篇博客:Solr的提交方式

你可能感兴趣的:(SolrCloud在生产环境中生成索引缓慢的问题)