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