请教各位,为什么要足够大的内存给Lucene?为什么用SSD可以提高性能

作者 ddys | 发布于2018年04月12日 | 阅读数:397

有个问题,官方文档说要留一大部分OS内存给Lucene,这部分内存留给Lucene是做什么用的? 还有,如果服务器内存足够大的话,查询或者聚合的时候把索引信息都缓存到内存中了,那这个时候使用SSD和普通硬盘还有区别么?
已邀请:

yayg2008

赞同来自: ddys

Lucene 的索引是存在磁盘上的,搜索时需要读取这些索引文件。如果有cache,那么就可以从内存读取/缓存这些索引文件,当然会有很大性能提升。
内存足够大,在查询的时候没有影响。但是写索引就不一样了。SSD会比较快。

jianjianhe

赞同来自: ddys

若是系统内存在128g或256g,es堆内存给31G应该可以了,因为es堆内存有个指针压缩,超过32g,就失效了,这样进行gc应该会消耗更多时间,es底层用lucene,剩下的系统内存给lucene,至于ssd,就是磁盘的读写速度更快,即从倒排索引load到内存这个过程效率比sata盘快很多

要回复问题请先登录注册