TiDB學習筆記(二十一)TiKV關鍵性能參數與配置

Transaction模塊(事務模塊)

shceduler pool:協調事務並發寫入衝突


Raft模塊:將寫請求轉換成raft日誌,寫入本地並複製到其他節點

raftstore thread:


RocksDB模塊:將raft日誌應用到rocksdb,進行數據持久化

apply thread:


二、寫入流程

1、scheduler-worker-pool-size

scheduler 線程個數,主要負責寫入之前的事務一致性檢查工作。如果 CPU 核心數量大於等於 16,默認為 8;否則默認為 4。


2、store-max-batch-size

一輪處理的最大請求個數。

3、store-pool-size

表示處理 Raft 的線程池線程的數量,即 Raftstore 線程池的大小。

4、raft-max-inflight-msgs

待確認日誌個數的數量,如果超過這個數量將會減緩發送日誌的個數。


5、apply-pool-size

處理數據落盤的線程池中線程的數量。

6、apply-max-batch-size

一輪處理數據落盤的最大請求個數。


三、讀取流程

readpool.unified.max-thread-count

統一處理讀請求的線程池最多的線程數量,即 UnifyReadPool 線程池的大小。


storage.block-cache.capacity

共享 block cache 的大小


split.qps-threshold

對 Region 執行 load-base-split 的閾值。如果連續一段時間內,某個 Region 的讀請求的 QPS 超過 qps-threshold,則切分該 Region


split.byte-threshold

對 Region 執行 load-base-split 的閾值。如果連續一段時間內,某個 Region 的讀請求的流量超過 byte-threshold,則切分該 Region


點查:


非點查:



四、Write Stall現象


五、慢查詢

小表熱點

索引熱點

CPU資源不足

Unified read瓶頸

Storage read pool瓶頸

執行計劃不合理(全表掃描)