索引生成系统之前一直很好,但最近生成速度却很慢,导致前些天的数据尚未更新,预算进行了以下操作
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在生产环境中生成索引缓慢的问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 包含的重点内容:JAVA基础JVM 知识开源框架知识操作系统多线程TCP 与 HTTP架构设计与分布式算法数据库知...