马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
index.merge.policy.segments_per_tier 是一个配置选项,用于控制 Elasticsearch 中段(segment)归并策略的行为。它界说了在每一层的段归并过程中,答应存在的最大段数量。调解这个参数可以优化索引性能和资源利用。
假设你有一个索引 my_index,你可以通过以下方式调解 segments_per_tier 配置:
- PUT /my_index/_settings
- {
- "settings": {
- "index.merge.policy.segments_per_tier": 10 // 设置每层的最大段数为 10
- }
- }
复制代码
- segments_per_tier:这是段归并策略中的一个参数,它控制每一层段归并时答应存在的最大段数。当段数量超过这个阈值时,Elasticsearch 会尝试将这些段归并成更少的段。
- 默认值:通常,默认值是 10,表示每层最多答应存在 10 个段。
利用场景
- 高写入速率场景:如果你的索引写入速率很高,调解 segments_per_tier 可以资助控制段的数量,减少段归并的频率,从而提高性能。
- 查询优化:在某些查询密集的场景中,得当调解段归并策略可以优化查询性能,由于较少的段数可以减少查询时需要访问的段数量。
其他相关配置
除了 segments_per_tier,另有其他相关的配置选项可以进一步优化段归并策略:
- index.merge.policy.max_merge_at_once:一次归并的最大段数。
- index.merge.policy.max_merged_segment:单个归并段的最大大小。
- index.merge.policy.floor_segment:最小段大小。
- PUT /my_index/_settings
- {
- "settings": {
- "index.merge.policy.segments_per_tier": 10, // 每层的最大段数
- "index.merge.policy.max_merge_at_once": 5, // 一次合并的最大段数
- "index.merge.policy.max_merged_segment": "5gb", // 单个合并段的最大大小
- "index.merge.policy.floor_segment": "2mb" // 最小段大小
- }
- }
复制代码
归并过程示例
假设 segments_per_tier 被设置为 10,以下是段归并的示例:
- 第一层(Tier 0):
- 初始写入操纵会创建新的段,这些段首先位于第一层(Tier 0)。
- 当第一层的段数量超过 10 时(比方有 11 个段),Elasticsearch 会开始归并这些段,将它们归并成一个新的段,并将其移动到更高一层(Tier 1)。
- 第二层(Tier 1):
- 归并后的段如今位于第二层(Tier 1)。
- 第二层的段数量限定同样是 10,当第二层的段数量超过 10 时,再次触发归并,将这些段归并成更大的段,并将其移动到更高一层(Tier 2)。
- 依次类推:
- 这个过程会不停连续,每一层中的段数量超过 segments_per_tier 时,都会触发归并操纵,将段移动到更高的层级,形成更大的段。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |