tidb_biuil_stats_concurrency 执行analyze table时会分成多个小任务,可以同时执行的任务数量。
tidb_distsql_scan_concurrency 在执行分析表时一次读的region
tidb_index_serial_scan_concurrency 执行分析索引时,一次读的Region

tidb_auto_analyze_ration 自动更新阈值(当表的修改行数比上总行数大于这个比例)
tidb_auto_analyze_start_time 一天中能够进行自动更新的开始时间
tidb_auto_analyze_start_time 一天中能够进行自动更新的结束时间
查看analyze状态
show analyze sttus;

查看表的元数据
show stats_meta where db_name='' and table_name='';
查看表的健康度
show stats_healthy where db_name='' and table_name='';
查看列的元信息
show stats_histograms where db_name='' and table_name='';
查看直方图信息
show stats_buckets where db_name='' and table_name='';

查看DDL操作列表
admin show ddl jobs;
tidb_ddl_reorg_worker_cnt 控制DDL操作re-organize阶段的并发度
tidb_ddl_reorg_batch_size 控制每个worker一起回填数据单位,以batch为单位
tidb_ddl_reorg_priority 调整创建索引优先级,参数有PRIORITY_LOW/PRIORITY_NORMAL/PRIORITY_HIGH
tidb_ddl_error_count_limit 失败重试次数,如果超过该次数索引创建失败

-----------------
33分
TIDB-Server 参数
max-procs: 控制每个TIDB-SERVER可以使用的CPU个数

token-limit 配置可以同时执行请求的session的数量,用于流量控制。默认1000
force_priority 控制TIDB-SERVER访问TIKV的优先级,不同任务的TIDB设置不同优先级

committer-concurrency 控制一个事务commit的最大并发数量

grpc-connection-count 设置TIDB和TIKV之间的grpc连接数量,可以通过监控看grpc等待时间,如果过高,就调整这个参数
Prepared Plan Cache:开启后减少执行计划造成的计算开销

Concurrency
tidb_distsql_scan_concurrency 控制TableScan和IndexScan算子的并发度
tidb_index_lookup_concurrency 控制IndexLookUp算子的并发度
tidb_build_stats_concurrency 控制Alalyze执行的并发度,可能会影响在线业务的延迟
tidb_hash_join_concurrecy 控制hashjoin算子的并发度
tidb_index_okkup_join_concurrency 控制IndexLookUpJoin算子的并发度
tidb_ddl_reorg_worker_cnt 控制DDL加索引的并发度

Batch Size
tidb_init_chunk_size 设置初始chunk的行数,默认32(1-32)
tidb_max_chunk_size 默认1024,系统会自动调整chunk大小,最大到这个值
tidb_index_join_batch_size 每次从t1 t2表取行的行数,默认值是25000

tidb_store_limit 控制同时发往一个tikv节点的请求数量
tidb_retry_limit 控制乐观事务的重试次数
Backoff
tidb_backoff_weight Tidb backoff最大时间的权重,通过这个变量调整最大重试时间
tidb_backoff_lock_fast 请求遇到锁的backoff时间
-------------------
PD 参数
scheduler介绍
balance-leader-scheduler:保持不同节点的Ledaer分布
balance-region-scheduler:保持不同节点的Peer均衡
host-region-scheduler:保持不同节点的读写热点region
evict-leader-{store-id}:驱逐某个节点的所有Leader

调度Limit参数,
控制产生速度
region-schedule-limit 同时进行Region调度的任务个数
leader-schedule-limit 同时进行leader调度的任务个数
replica-shcedule-limit 同时进行replica调度的任务个数
merge-schedule-limit 同时进行的Region Merge调度的任务,设置为0关闭Region Merge
hot-greion-schedule-limit 控制同时进行的hot Region任务,该配置项独立于Region调度。
控制消费者
store limit
限制单个store的消费速度
pd-ctl -u ip:port store limit <id> <value>

patrol-reion-interval 控制扫region的间隔,默认100ms,通常不需要调整
查看并修改调度参数
config show: 显示当前调度相关参数
config set <key> <value> 修改相关参数

Operator show [admin | leader | region] 展示当前全局者或者是某类的调度任务
operator add --人工添加一些调度任务实现期望目标,例如:
operator add add-peer <region_id><store_id>

operator add remove-peer <region_id><store_id>
operator add transfer=leader <region_id><store_id>

逐驱leader
scheduler add evict-leader-scheduler 5
去除schedulr
scheduler remove evict-leader-scheduler
查看leader分布
select store_id,leader_count,leader_weight,region_count,region_weight from INFORMATION_SCHEMA.TIKV_STORE_STATUS;

消费速度控制
pd-ctl -u ip:port store limit <store_id> <value>

根据region-id查表名
curl http://{TiDBIP}:10080/regions/{regionID}

查看leader分布
[root@root ~]# tiup ctl:v5.1.1 pd -u http://172.16.1.10:2379 -i
Starting component `ctl`: /root/.tiup/components/ctl/v5.1.1/ctl pd -u http://172.16.1.10:2379 -i
» store

查看tikv参数
tiup ctl:v5.1.1 pd -u http://172.16.1.10:2379 config show scheduler

查看热点读region
[root@root ~]# tiup ctl:v5.1.1 pd -u http://172.16.1.10:2379 -i
Starting component `ctl`: /root/.tiup/components/ctl/v5.1.1/ctl pd -u http://172.16.1.10:2379 -i
» region topread 5
region topwrite 5 --热点写retion

1、建表时建议如何打散数据,
2、是否要提前自定义好region数量,建议几个
3、如果只打散,但不定义region,启不还是写一个region?

热点排查:
流量可视化,查看热点名称 ceshi t1 row_829267~row_576460752... 或者 START KEY .... END KEY
show table t1 regions --可以查看到region范围,region_id、leader_id、leader_store_id。
PD大盘Heartbeta,Region heartbeat report 可以查看store和IP对应关系。

根据START KEY 查region id
pd-ctl:
tiup ctl:v5.1.1 pd -i -u http://172.16.1.10:2379
region key 7480000000000000FFA95F728000000000FF0CA7530000000000FA --也可返回region详细信息

分裂出一个新的region
» region key 7480000000000000FFA95F728000000000FF0CA7530000000000FA
{
"id": 72057,
"start_key": "7480000000000000FFA95F728000000000FF0CA7530000000000FA",
"end_key": "7480000000000000FFA95F7287FFFFFFFFFFFFFFFF0000000000FA",
"epoch": {
"conf_ver": 7,
"version": 174
},
"peers": [
{
"id": 72058,
"store_id": 1,
"role_name": "Voter"
},
{
"id": 72059,
"store_id": 4,
"role_name": "Voter"
},
{
"id": 72060,
"store_id": 5,
"role_name": "Voter"
}
],
"leader": {
"id": 72058,
"store_id": 1,
"role_name": "Voter"
},
"written_bytes": 0,
"read_bytes": 0,
"written_keys": 0,
"read_keys": 0,
"approximate_size": 61,
"approximate_keys": 377485
}

分裂region
» operator add split-region 72057 --policy=approximate
分裂后的region_id号最大
Success!
迁走region
» operator add transfer-leader 73001 5
Success!

建表分列region
SPLIT TABLE TEST_HOTSPOT BETWEEN (0) AND (9223372036854775807) REGIONS 128;

查看region分布
SELECT p.STORE_ID, COUNT(s.REGION_ID) PEER_COUNT FROM INFORMATION_SCHEMA.TIKV_REGION_STATUS s JOIN INFORMATION_SCHEMA.TIKV_REGION_PEERS p ON s.REGION_ID = p.REGION_ID WHERE TABLE_NAME = 't1' AND p.is_leader = 1 GROUP BY p.STORE_ID ORDER BY PEER_COUNT DESC;

CREATE TABLE `t6` (
`id2` varchar(20) NOT NULL,
PRIMARY KEY (`id2`) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin/*!90000 SHARD_ROW_ID_BITS=4 */

leader/region分布不均匀
socre接近
1、存在热点,
2、大量空retion小region
3、不同store硬件
4、其它不明原因,调整leader-weight region-weight

score不一样,查operator 相关metrics

调度正常,但速度慢
leader-schedule-limit
region-schedule-limit 这两个调大
max-pending-peer-count
max-snapshot-count 酌情调大

tidb 杂记的更多相关文章

  1. [Erlang 0118] Erlang 杂记 V

       我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下.    做笔记 一开始笔记软件做的不好的时候就发邮件给自己, ...

  2. Ubuntu杂记——Ubuntu下用虚拟机共享上网

    由于最近把自己电脑环境换成了Ubuntu,但学校的网络是电信的闪讯,大学里用过的人都知道这货有多坑,而且没有Linux客户端,上网都是问题,怪不得国内用Linux的人那么少,特别是高校的学生(让我瞎逼 ...

  3. 一个ubuntu phper的自我修养(杂记)

    ubuntu使用杂记 1.flatabulous安装使用. flatabulous是一个ubuntu图标主题. 使用它,必须得安装tweak插件. sudo add-apt-repository pp ...

  4. 有关Java的日期处理的一些杂记

    在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪. ...

  5. 分布式系统之CAP理论杂记[转]

    分布式系统之CAP理论杂记 http://www.cnblogs.com/highriver/archive/2011/09/15/2176833.html 分布式系统的CAP理论: 理论首先把分布式 ...

  6. Redis杂记

    参考资料: Redis 教程 | 菜鸟教程 : http://www.runoob.com/redis/redis-tutorial.html Redis快速入门 :http://www.yiibai ...

  7. MySQL杂记

    参考资料: w3school  SQL 教程 : http://www.w3school.com.cn/sql/index.asp 21分钟 MySQL 入门教程 : http://www.cnblo ...

  8. Android之开发杂记(一)

    1.cygwin环境变量设置 可在Cygwin.bat 中设置 set NDK_ROOT=P:/android/android-ndk-r8e 或者在home\Administrator\.bash_ ...

  9. TIDB ---NEW SQL

    https://github.com/pingcap/tidb http://www.pingcap.com/ Quick Start Run TiDB with Docker You can qui ...

  10. ios程序开发杂记

    ios程序开发杂记 一.程序构建 与一般的程序构建无太大区别,都是源文件编译链接这一套,通常是在mac上做交叉编译,也就是利用xcode里带的ios编译工具集去生成arm架构的ios程序(或是x86的 ...

随机推荐

  1. windwos提权漏洞CVE-2023-21746复现(LocalPotato)

    0x01 漏洞原理 LocalPotato攻击是一种针对本地认证的NTLM反射攻击. Windows NTLM 在进行身份验证时存在漏洞,允许拥有低权限的本地攻 击者通过运行特制程序将权限提升至 SY ...

  2. FPS 逆向 CS.起源 绘制 教程(下周完成笔记)

    1.找到人物坐标X YZ2.找到鼠标X Y3.易语言读取人物坐标4.读取敌人坐标打开控制台服务器与客户端尽量找客户端 找到XYZ5.实时读取敌人坐标6.三角函数转换屏幕坐标FOV 视场角狙击枪找FOV ...

  3. 安卓逆向 利用JEB进行动态调试断点 进行内购

    1.第一步肯定是需要配置好,连接到模拟器 2.这个程序会弹出支付失败 所以我们搜索一下关键字 看到这里就很兴奋了 我们取JEB里面对这个方法进行断点 if eqz 等于0 这里 看到那个寄存器是v5 ...

  4. 安卓逆向 JNI实先java与C互通

    先来一张吊图 jdk_1.6.0_43/include/jni.h  这个头文件的地址 头文件分布 我们需要熟悉的 反射获取java中的类 1.jclass/类型 (JNICALL *FindClas ...

  5. HGAME_2023_WEB_WP_WEEK3

    Ping to the host 很明显的rce,简单测试一下发现空格,cat,:被办,且执行无回显,空格用${IFS},%09,$IFS$9等等来绕过,我们利用dnslog将执行结果外带出来,这里使 ...

  6. 【KAWAKO】soundtoch-使用可执行文件对音频进行变调或变速

    目录 下载 单次使用 使用python脚本批量处理 下载 从官网下载可执行文件. 单次使用 在终端中直接运行,会出现使用方法和可选参数. 变速就设置tempo,变调就设置pitch,都变就都设置.变速 ...

  7. 【KAWAKO】RNNoise-将模型做成接口并交叉编译到RK3308上

    目录 做成接口 rnnoise_inference.h rnnoise_inference.cpp 使用方法(主要部分) 交叉编译 编译出动态链接库 使用编译出的动态链接库进行推理 做成接口 RNNo ...

  8. P6329 【模板】点分树 | 震波

    \(\text{Solution}\) 点分树就是将点分治过程中的重心连成一棵虚树 对点分树子树信息的记录,就是点分治处理每个重心时需要的信息 这样就可以留下点分治的过程,支持多次修改和查询 点分树树 ...

  9. Philips and Calculator

    代码 #include<cstdio> #include<algorithm> using namespace std; const int N = 3 * 1e6; int ...

  10. Hbase学习二:Hbase数据特点和架构特点

    转载请注明出处: 1.Hbase数据特点 大:一个表可以有上亿行,上百万列. 面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索. 稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以 ...