ES集群磁盘释放方案一:ForceMerge

优化方案

索引中删除的文档,只是做删除标记,其实并没从磁盘中彻底删除,当前操作就是解决这个问题。

优点

  1. 清楚无效数据,磁盘空间节省较大;

  2. 可以提高查询性能(减少无效查询);

缺点

  1. 处理期间,会占用大量资源,导致索引查询缓慢;


ForceMerge段合并操作

官方文档

官方文档:Force Merge API v7.4


ForceMerge操作命令

使用kibana操作命令

执行ForceMerge操作

POST /my_index/_forcemerge?max_num_segments=1


PS:阿里内部同学给出的最佳实践:POST my_idnex/_forcemerge?max_num_segments=1&only_expunge_deletes=true


查看索引按删除状态文档数量倒序

GET _cat/indices/?v&s=docs.deleted:desc

查看forceMerge任务详情

GET _tasks?detailed=true&actions=*forcemerge&human

查看所有index的段情况和当前正在进行merge的文档数

GET _cat/indices/?s=segmentsCount:desc&v&h=index,segmentsCount,segmentsMemory,memoryTotal,mergesCurrent,mergesCurrentDocs,storeSize,p,r

查看各个节点forceMerge的线程数

GET _cat/thread_pool/force_merge?v&s=name

查看某个index的forceMerge情况

GET _cat/segments/my-index?v&s=prirep,shard


本文链接地址,转载请标注: https://caohongyuan.com/article/191


0

上一篇: Git强制覆盖合并分支

下一篇: 吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解

提交 清空
Re: