ES 客户端读取数据的流程
客户端 -> shard -> filesystem cache -> 磁盘文件
海量数据检索查询性能优化思路
如果内存足够大, filesystem cache 会缓存,如果查询走filesystem cache 则速度耗时在毫秒级别,如果查询请求走磁盘文件,则最少查询耗时都在秒级别。
如果整个磁盘上索引数据文件在3台机器上,一共占用了1T的磁盘容量,ES数据量是1T,每台机器的数据量是300G。ES性能最佳情况,你的机器内存至少可以容纳总数据量的一半。
生产环境试验,最好用ES存储少量的数据,用来搜索的那些索引,内存留给filesystem cache