【TiDB 4.0 PCTA 学习笔记】 - 3.7.6 TiDB optimization @2班+马志林

课程名称:【TiDB 4.0 PCTA 学习笔记】 - 3.7.6 TiDB optimization (TiDB Server 优化)

学习时长:50m

课程收获:

了解 TiDB 性能优化涉及到的可以调节的配置和参数

课程内容:

一、操作系统参数
1、CPU
a、频率调节
通过cpufreq模块进行调节,设置为 perfirmance,最高频率模式。
cpupower frequency-set --governor perfirmance
b、Numa绑定
禁止cpu跨numa节点调用内存,造成额外开销
使用 numactl 调整

2、内存
a、禁止 THP
b、限制虚拟内存使用
dirty_ratio 默认20% ,高性能ssd(nvme)可以调小
dirty_backgroud _ratio 默认10%,高性能ssd可以调小

3、磁盘
a、i/o调度
echo noop > /sys/block/${SSD_DEV_NAME}/queue/scheduler
b、mount参数
设置 noatime、nodiratime,避免在文件/目录 读取的时候就更新元数据

二、TiDB系统变量
1、并发数量,通常调高参数并发性能会变好,但是cpu开销增大,具体问题需具体分析


%E5%9B%BE%E7%89%87

2、批量的大小
TiDB查询结果是一批一批的处理,每批次最小单位为chunk
默认 chunk_size 是 1024 ,如果结果集很大,调大性能会好;
但是如果结果集很小,则会申请过多内存,造成内存过度浪费
%E5%9B%BE%E7%89%87
通过 init 和 max 来配合需求,AP请求一般需要调大

3、限制
%E5%9B%BE%E7%89%87
tidb_store_limit 过大会造成TiKV负载过高、请求超时,过小则造成系统资源无法充分利用,需做取舍
tidb_rerty_limit 乐观事物遇到写入冲突时的最大重置次数,过大会造成冲突加剧、性能下降;过小事物执行的成功率下降;最好调高,避免写入失败。
建议使用4.0默认是悲观事物。

4、backoff 遇到错误重试的等待时间
过大会增加延迟;过小会造成无谓的重试,消耗系统资源

三、TiDB配置参数
1、性能

2、TiKV Client
%E5%9B%BE%E7%89%87

3、减少执行计划造成的计算开销
%E5%9B%BE%E7%89%87
开启后,相同类型的SQL语句会使用相同的执行计划,而不会每次都重新计算,
代价则是当数据和查询条件发生变化时,执行计划不一定是最优的

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。