tidb优化配置

1、tidb最小要求

1
2
3
4
5
6
7
8
9
10
TiDB 系统调优的官方建议:
TiKV 内存使用情况
 除了以上列出的 block-cache 以及 write-buffer 会占用系统内存外:
  
需预留一些内存作为系统的 page cache
TiKV 在处理大的查询的时候(例如 select * from ...)会读取数据然后在内存中生成对应的
数据结构返回给 TiDB,这个过程中 TiKV 会占用一部分内存。
 TiKV 机器配置推荐
 生产环境中,不建议将 TiKV 部署在 CPU 核数小于 8 或内存低于 32GB 的机器上
如果对写入吞吐要求比较高,建议使用吞吐能力比较好的磁盘

2、tidb优化项与默认配置项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
实际使用过程中需要重点关注的参数:
 
推荐的TiKV 参数配置  
sync-log = false
grpc-concurrency = 8
grpc-raft-conn-num = 24
[defaultcf]
block-cache-size = "12GB"
[writecf]
block-cache-size = "5GB"
[raftdb.defaultcf]
block-cache-size = "2GB"
  
实际的配置:
[server]
grpc-concurrency = 4
grpc-raft-conn-num = 10
  
[raftstore]
sync-log = true
[rocksdb.defaultcf]
block-cache-size = "48331MB"
[rocksdb.writecf]
block-cache-size = "28998MB"
[raftdb.defaultcf]
block-cache-size = "2GB"

3、针对48线程的CPU和188G内存的主机配置修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[server]
grpc-concurrency = 4   -->8
grpc-raft-conn-num = 10 -->24
[storage]
scheduler-concurrency = 2048000
scheduler-worker-pool-size = 8  -->16
[coprocessor]
region-max-size = "144MB"  -->384MB
region-split-size = "96MB"  -->256MB
[raftstore]
region-split-check-diff = "6MB" -->32MB
sync-log = true 
  
[rocksdb]
max-background-jobs = 6   -->32
max-open-files = 40960    -->65535
[rocksdb.defaultcf]
block-cache-size = "48331MB"  -->80G
[rocksdb.writecf]
block-cache-size = "28998MB"   -->30G
[raftdb.defaultcf]
block-cache-size = "2GB"
  
此外参数需要调整为32MB。
target-file-size-base = "8MB" -->32MB

  

posted @   苍茫宇宙  阅读(1281)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示