Elasticsarch 亿级数据搜索慢问题
匿名 | 发布于2020年06月18日 | 阅读数:2558
大佬们,我用es做聚合查询和搜索服务(日志和业务查询),在千万级数据的时候,确实性能很好,毫秒级返回,但是当数据上亿之后,搜索性能直线下降。
日志按照时间区间搜索,要好几秒才出结果
全文检索,一个doc大约几十个英文单词,也是要4 5秒才出结果,doc都是简短的英文,用的自定义分词
"en_customer_analyzer" : {
"type" : "pattern_capture",
"preserve_original" : true,
"patterns" : [
"(\\p{Ll}+|\\p{Lu}\\p{Ll}+|\\p{Lu}+)",
"(\\d+)"
]
}
请问有哪些优化思路? 日志打算做冷热,或者只保留近期日志
物理机128G内存 24C
日志按照时间区间搜索,要好几秒才出结果
全文检索,一个doc大约几十个英文单词,也是要4 5秒才出结果,doc都是简短的英文,用的自定义分词
"en_customer_analyzer" : {
"type" : "pattern_capture",
"preserve_original" : true,
"patterns" : [
"(\\p{Ll}+|\\p{Lu}\\p{Ll}+|\\p{Lu}+)",
"(\\d+)"
]
}
请问有哪些优化思路? 日志打算做冷热,或者只保留近期日志
物理机128G内存 24C
5 个回复
dadaball
赞同来自:
tulong - 80 IT
赞同来自:
2、扩大集群配置,增加数据节点,
不过也可以先看下目前的分片配置是否合理,是否需要扩大分片,看下分片上的数据是否已经超过了某个大小(我查询到的资料是说20-50G)
还可以看下搜索线程池设置是否合理(24*3)/2+1=37
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自:
2、看下日志:是否有 gc?
3、内存和堆内存设置是否合理,看有没有优化空间。
4、集群节点角色设置是否合理?
5、分片数、单分片大小是否合理?
6、你提到的冷热数据分离。
以上都要考虑排查一下。
匿名用户
赞同来自:
非要聚合,建议拆分集群,打散业务数据。
无限制增加物理机,最后还是不行的。
我们1000多台物理机都无法满足几十亿,几百亿数据的实时聚合的。
最后拆分成50个小集群。
当然了如果基础数据几百亿,几十亿,进行聚合,那是没办法解决的。不行你可以试试看吧。
hnj1575565068 - 90后
赞同来自: