Lucene 被设计为可以利用操作系统底层机制来缓存内存数据结构。
标准的建议是把 50% 的可用内存作为 Elasticsearch 的堆内存,剩下的 50% 被Lucene 利用。
分配给 Elasticsearch 的堆内存不要超过 32G 。
小于32G会用到内存指针压缩(compressed oops)的技术,
否则每个对象的指针都变长了,就会使用更多的 CPU 内存带宽,也就是说你实际上失去了更多的内存。
为了让es 的性能最佳
最好分配的内存再存储文档 容量的 50% 以上。
保证搜索时候尽量在内存中计算。
参考地址
https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html
网友评论