这周三因为es中的一个索引需要添加字段,然后需要重新构建新索引,线上数据量大概6千万,线上es就一台,你么看错就一台。配置就不晓得了。然后就一级bug了。趁着周末看下reindex源码。
es2.4 reindex官方地址,reindex是底层依靠scroll,查看了文档提供性能也就size可用了,默认是1000。先说下我在测试环境的测试结果,阿里云2核4g一台,总条数1w.测试条件如下,分别测试5次
1.默认size(1000) reindex时间不超过7s
2.设置size为3000,reindex时间不低于7s...
然后还有其他条数1200 1800 2000等等时间都在7s左右,mmp,这配置真特么烂,老大在阿里申请测试机器,一次机器数150台,64core机器,人与人的差距,这配置,这访问量,还是得去大公司。继续说源码。


刚毕业那会框架用的是ssh,控制层命名就是以action为后缀,这里我并不知道是不是同一个意思,但是处理确实是从action层发起。核心过程在AbstractAsyncBulkByScrollAction.start方法,我是根据ReindexBasicTests.testCopyMany方法debug的,核心代码没有多少行,然后又好几个类都没弄明白具体作用,也懒得弄明白了。

上图是不是很熟悉了,在这里说下个问题上图中有BulkIndexByScrollResponse的类但并没有BulkIndexByScrollRequest,我不评价这样设计好还是坏,只是觉得让人很疑惑,我在看lucence7.0.1源码的时候还看到一个判断真假的代码if(xx == false)....完结!
网友评论