1. 程式人生 > 實用技巧 >tidb優化配置

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