tidb优化配置
1、tidb最小要求
TiDB 系统调优的官方建议: TiKV 内存使用情况 除了以上列出的 block-cache 以及 write-buffer 会占用系统内存外: 需预留一些内存作为系统的 page cache TiKV 在处理大的查询的时候(例如 select * from ...)会读取数据然后在内存中生成对应的 数据结构返回给 TiDB,这个过程中 TiKV 会占用一部分内存。 TiKV 机器配置推荐 生产环境中,不建议将 TiKV 部署在 CPU 核数小于 8 或内存低于 32GB 的机器上 如果对写入吞吐要求比较高,建议使用吞吐能力比较好的磁盘
2、tidb优化项与默认配置项
实际使用过程中需要重点关注的参数: 推荐的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内存的主机配置修改:
[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
做一个决定,并不难,难的是付诸行动,并且坚持到底。