面试题答案
一键面试可动态调整的索引设置参数
index.number_of_replicas
:副本数量。可以根据系统负载和可用性需求进行调整。例如业务高峰期增加副本数提升读性能,低峰期适当减少以节省资源。index.refresh_interval
:刷新间隔。控制索引数据多久可以被搜索到。如果对实时性要求不高,可适当增大间隔以减少I/O开销;实时性要求高则需减小间隔。index.max_result_window
:最大结果窗口大小。用于控制from + size
参数的最大值。当需要查询大量数据时,可根据业务需求适当增大此值。
动态参数调整策略
- 基于业务需求
- 读多写少场景:适当增加
index.number_of_replicas
副本数量,提升读性能。比如电商搜索场景,商品信息相对稳定,可增加副本应对高并发读请求。 - 实时性要求:若业务对数据实时可见性要求高,调小
index.refresh_interval
。如金融交易监控系统,需及时展示交易数据。 - 大数据量查询:业务需一次性查询大量数据时,合理增大
index.max_result_window
。但要注意内存等资源消耗。
- 读多写少场景:适当增加
- 基于系统监控指标
- CPU使用率:若CPU使用率过高,且发现是由于频繁刷新导致,可增大
index.refresh_interval
。 - 磁盘I/O:磁盘I/O繁忙时,可减少
index.number_of_replicas
降低数据复制带来的I/O压力。 - 内存使用:当内存接近饱和,而
index.max_result_window
设置过大可能导致内存溢出风险,需适当调小此值。
- CPU使用率:若CPU使用率过高,且发现是由于频繁刷新导致,可增大