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瓶颈
执行计划不合理(全表扫描)