【 TiDB 使用环境】生产环境 
【 TiDB 版本】6.1.0 
【复现路径】 
【遇到的问题:问题现象及影响】 
通过调整各种 merge 的参数,merge 效果都不明显
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面  
【附件:截图/日志/监控】 
配置如下:
» config show
{
  "replication": {
    "enable-placement-rules": "true",
    "enable-placement-rules-cache": "false",
    "isolation-level": "",
    "location-labels": "",
    "max-replicas": 3,
    "strictly-match-label": "false"
  },
  "schedule": {
    "enable-cross-table-merge": "true",
    "enable-joint-consensus": "true",
    "high-space-ratio": 0.8,
    "hot-region-cache-hits-threshold": 3,
    "hot-region-schedule-limit": 4,
    "hot-regions-reserved-days": 7,
    "hot-regions-write-interval": "10m0s",
    "leader-schedule-limit": 4,
    "leader-schedule-policy": "count",
    "low-space-ratio": 0.9,
    "max-merge-region-keys": 300000,
    "max-merge-region-size": 20,
    "max-pending-peer-count": 64,
    "max-snapshot-count": 64,
    "max-store-down-time": "30m0s",
    "max-store-preparing-time": "48h0m0s",
    "merge-schedule-limit": 10,
    "patrol-region-interval": "10ms",
    "region-schedule-limit": 2048,
    "region-score-formula-version": "v2",
    "replica-schedule-limit": 64,
    "split-merge-interval": "1h0m0s",
    "tolerant-size-ratio": 0
  }
}
 
通过 region 表查询到的数据量为:12TB,实际磁盘占用是7.1TB
MySQL [INFORMATION_SCHEMA]> select sum(APPROXIMATE_SIZE) from tikv_region_status;
+-----------------------+
| sum(APPROXIMATE_SIZE) |
+-----------------------+
|              12892933 |
+-----------------------+
1 row in set (3.81 sec)
 
部署信息 
             
            
               
               
               
            
           
          
            
              
                h5n1  
                (H5n1)
               
              
                  
                    2023 年8 月 7 日 09:19
                   
                   
              2 
               
             
            
              经常有truncate 或drop操作吗? 没有tiflash吧
             
            
               
               
               
            
           
          
            
            
              有 tiflash,半年之前有 truncate 操作,最近应该没有。
             
            
               
               
               
            
           
          
            
              
                h5n1  
                (H5n1)
               
              
                  
                    2023 年8 月 7 日 09:35
                   
                   
              5 
               
             
            
              设置为tiflash的表 会导致相邻边界的不能被合并,如果只有一次truncate 合并速度看起来是很慢,系统忙吗,磁盘压力大不,除了pd-config的limit外 还有store limit会现在region的调度速度,可以Pd-ctl store limit调整下
             
            
               
               
              1 个赞 
            
           
          
            
            
              tilash 磁盘iops 现在平均2w 左右(盘的上限是6w,之前平均4w 系统都比较正常),cpu,内存都比较充裕。 tikv只有几千的iops.
region 信息里 table_id 为 null,keys 为0的能否排除和 tiflash 有关?
MySQL [INFORMATION_SCHEMA]> select count(*) from tikv_region_status where APPROXIMATE_KEYS=0 and TABLE_ID is null;
+----------+
| count(*) |
+----------+
|    18230 |
+----------+
1 row in set (4.45 sec)
 
             
            
               
               
               
            
           
          
            
            
              是不是有很多小表或很多 partitions,另外设置 tiflash 副本的都是哪些类型的表呢
             
            
               
               
               
            
           
          
            
              
                redgame  
                (Ti D Ber Pa Amoi Ul)
               
              
                  
                    2023 年8 月 7 日 21:31
                   
                   
              8 
               
             
            
              如果你的 TiDB 集群一直处于高负载状态,那么 Merge 进程可能没有足够的资源进行操作
             
            
               
               
               
            
           
          
            
            
              有比较多的 partitions,也有比较大的用了 partitions 表的相关的 tiflash 副本
             
            
               
               
               
            
           
          
            
            
              store limit 默认每分钟是15 可以适当调大试试
             
            
               
               
               
            
           
          
            
            
              tiflash 这边不允许垮表 merge region,如果带有 tiflash 副本的比较小的 partitions/tables 数量基本和当前 empty regions 数量一样的话。估计就是这个限制了
             
            
               
               
              1 个赞 
            
           
          
            
            
              select * from INFORMATION_SCHEMA.TIKV_REGION_STATUS 
可以看下region 信息状态
             
            
               
               
               
            
           
          
            
            
              前期有大量的操作region,单个region 大于20M(默认20M),就没有触发merge 
max_meger_region_size 可以改大,然后再改回去
             
            
               
               
               
            
           
          
            
            
              MySQL [INFORMATION_SCHEMA]> select count(1),sum(APPROXIMATE_SIZE), avg(APPROXIMATE_SIZE) as SIZE,avg(APPROXIMATE_KEYS) from TIKV_REGION_STATUS where TABLE_ID is null and APPROXIMATE_SIZE > 50;
+----------+-----------------------+---------+-----------------------+
| count(1) | sum(APPROXIMATE_SIZE) | SIZE    | avg(APPROXIMATE_KEYS) |
+----------+-----------------------+---------+-----------------------+
|    28051 |               2500873 | 89.1545 |           543835.7832 |
+----------+-----------------------+---------+-----------------------+
1 row in set (2.69 sec)
 
现在 table_id null的 region,大于50MB 占用了2.5T空间,如果 merge 不到,这部分空间有办法释放出来吗?
             
            
               
               
               
            
           
          
            
              
                Aric  
                (Jansu Dev)
               
              
                  
                    2023 年8 月 11 日 02:09
                   
                   
              18 
               
             
            
              operator 有 create 有被 cancel 吗? 
metrics 里如果有 cancel, 应该能 cancel 的原因 
来份时间长点的 pd metrics 导出图 PingCAP MetricsTool