ES7.7之后的版本因为默认将FST移到堆外,让内存使用更小,可以保存更多open状态的索引。对于日志用途的ES来说是优化,日志类型的ES集群对查询响应时间不敏感,对容量和成本比较关注。
但是我这边有一些业务上用的ES,追求比较快速的查询响应时间和更小的抖动。数据量不大但查询qps很高,原先FST常驻jvm并没有影响。现在FST移到堆外意味着可能被系统的调度策略踢出页缓存,再次从磁盘加载的时候会导致性能下降出现抖动更加不稳定。这样反而没有原来稳定。
不知道有没有版本用7.7以后的版本,但让FST像原来一样是在jvm内存中的。但是根据ES官方论坛中的一些提问描述,这项似乎不支持设置。不知道是不是真的没法设置呢,如果有我上面需求的话,只能用低版本了吗?
但是我这边有一些业务上用的ES,追求比较快速的查询响应时间和更小的抖动。数据量不大但查询qps很高,原先FST常驻jvm并没有影响。现在FST移到堆外意味着可能被系统的调度策略踢出页缓存,再次从磁盘加载的时候会导致性能下降出现抖动更加不稳定。这样反而没有原来稳定。
不知道有没有版本用7.7以后的版本,但让FST像原来一样是在jvm内存中的。但是根据ES官方论坛中的一些提问描述,这项似乎不支持设置。不知道是不是真的没法设置呢,如果有我上面需求的话,只能用低版本了吗?
2 个回复
Charele - Cisco4321
赞同来自:
"ES7.7之后的版本因为默认将FST移到堆外",你是从哪里看到这个的,发出链接。
zmc - ES PAAS、JuiceFS
赞同来自: