Elasticsearch HTML文件搜索性能提升实战
集群内存设置
Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置实在太小了,稍有大批量查询或者写入操作,集群很快就会出现问题。
ES在6.x版本后,通过修改安装路径elasticsearch/jvm.options文件来设置内存
-Xms10g
-Xmx10g
将内存设置为10g,重启服务后生效
systemctl restart elasticsearch.service
一个常见的问题是配置一个大内存,假设你有一个64G内存的机器,按照正常思维思考,你可能会认为把64G内存都给Elasticsearch比较好,但现实是这样吗, 越大越好?
当然,内存对于Elasticsearch来说绝对是重要的,用于更多的内存数据提供更快的操作,而且还有一个内存消耗大户-Lucene。
Lucene的设计目的是把底层OS里的数据缓存到内存中。Lucene的段是分别存储到单个文件中的,这些文件都是不会变化的,所以很利于缓存,同时操作系统也会把这些段文件缓存起来,以便更快的访问。
如果将所有的内存都分配给Elasticsearch,不留一点给Lucene,那全文检索性能会很差的。
所以标准的建议是把50%的内存给elasticsearch,剩下的50%也不会没有用处的,Lucene会很快吞噬剩下的这部分内存用于文件缓存。
推荐安装cerebro来查看ES集群的状态: cerebro.

Elasticsearch性能优化实战

本文深入探讨Elasticsearch在大规模HTML文件搜索场景下的性能优化策略,包括集群内存设置、分片与副本调整、查询分页策略及高亮显示优化。通过实践案例,展示如何针对特定业务场景进行有效配置,显著提升搜索效率。
最低0.47元/天 解锁文章
2251

被折叠的 条评论
为什么被折叠?



