为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
- 【系统版本 & kernel 版本】centos7
- 【TiDB 版本】V3.0.0
- 【磁盘型号】SSD
- 【集群节点分布】3pd、2tidb、3tikv
3个pd监控情况:
是否存在分配不均匀的问题,是否需要打散regions,具体操作流程是什么样的?
谢谢!
为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
是否存在分配不均匀的问题,是否需要打散regions,具体操作流程是什么样的?
谢谢!
看起来 leader 数量分布不是很均匀, 可以看一下 pd 界面的 hot region 图, pd-ctl 里看一下 pd 的配置
pd配置:
» cluster
{
“id”: 6707191707121201016,
“max_peer_count”: 3
}
» config show
{
“replication”: {
“location-labels”: “”,
“max-replicas”: 3,
“strictly-match-label”: “false”
},
“schedule”: {
“disable-location-replacement”: “false”,
“disable-make-up-replica”: “false”,
“disable-namespace-relocation”: “false”,
“disable-raft-learner”: “false”,
“disable-remove-down-replica”: “false”,
“disable-remove-extra-replica”: “false”,
“disable-replace-offline-replica”: “false”,
“enable-one-way-merge”: “false”,
“high-space-ratio”: 0.6,
“hot-region-cache-hits-threshold”: 3,
“hot-region-schedule-limit”: 2,
“leader-schedule-limit”: 4,
“low-space-ratio”: 0.8,
“max-merge-region-keys”: 0,
“max-merge-region-size”: 0,
“max-pending-peer-count”: 16,
“max-snapshot-count”: 3,
“max-store-down-time”: “30m0s”,
“merge-schedule-limit”: 8,
“patrol-region-interval”: “100ms”,
“region-schedule-limit”: 4,
“replica-schedule-limit”: 8,
“scheduler-max-waiting-operator”: 3,
“schedulers-v2”: [
{
“args”: null,
“disable”: false,
“type”: “balance-region”
},
{
“args”: null,
“disable”: false,
“type”: “balance-leader”
},
{
“args”: null,
“disable”: false,
“type”: “hot-region”
},
{
“args”: null,
“disable”: false,
“type”: “label”
}
],
“split-merge-interval”: “1h0m0s”,
“store-balance-rate”: 15,
“tolerant-size-ratio”: 5
}
}
pd 界面 Scheduler 看一下
information_schema.TIDB_HOT_REGIONS 这个表看一下,按 MAX_HOT_DEGREE 倒序一下
看起来是符合我们调度策略的。
从监控来看,一直有一个 region 读流量较大,可以尝试使用 split_hot_region.py 脚本来查看下,这个热点 region 的相关信息。初步估计是有小表热点。
可以使用我们 pre split 功能:https://pingcap.com/docs-cn/v3.0/reference/sql/statements/split-region/#pre_split_regions
表是空的
大佬 我是新手 能否详细说明下步骤,不太清楚怎么操作,谢谢!
你先用脚本看看,读流量较高的 region 的相关信息。 我们集群是在空跑还是在压测呢? 从pd 信息来看,score 接近,分布是预期的。
正常线上在使用
OK 跑下脚本 先看下内容把。
pd-ctl 里执行 region 结果输出到文件里,发一下,感觉有很多空的 region ,可以考虑开一下 region merge 功能
文件在微信里上传了
看了一下文件,里面大部分是空的 region ,需要做 region 合并,pd-ctl 中修改下面两个参数,之后看下效果
config set max-merge-region-size 2
config set config set max-merge-region-keys 8000000
之后可以观察一下 region 数量,以及 pd 面板 scheduler 界面