干式电力变压器技术参数和要求_10kv变6kv变压器型号技术参数

2022-09-27 15:05:33 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

TiKV整体架构

主要关注三个模块:Transaction、Raft、 RocksDB

主要关注这三个模块的线程池

  • scheduler Pool:协调事物的并发写入冲突,并将收到的修改操作向下写入;
  • raftstore thread: 接收到写请求后,将写请求转化为raft 日志;raft日志会存入rocksdb raft中,并外传
  • apply thread: 从rocksdb raft中的日志读出来,应用到rocksdb kv,从而完成数据的持久化

TiKV读写流程

写请求从TiDB传入到scheduler pool,scheduler pool负责协调并发写入的冲突;如果有多个写请求要写同一个KEY或者遇到锁的时候,scheduler pool通过latch来进行排队,成功获得latch的可以继续往下走传递给raftstore pool,其他写请求继续等待;

raftstore pool会将写请求转化为写日志raft log, raft log一边会落到raft主的rocksdb raft log,另外会发送给follower节点;

apply pool 会将raft log应用到本地的rocksdb kv,完成数据的持久化;

按照上面流程图查看哪个部分的监控升高,如果哪个位置升高,就可以按照下面的图示调节对应的参数(适当调大);

store-pool-size: 默认处理raft的线程池数量,默认2;

store-max-bach-size: 默认每一批请求的rows数量,默认256

raft-max-inflight-msgs: 如果超过raft log写入等待的数量超过raft-max-inflight-msgs,就会减缓写入,进行限流;

apply-pool-size: 处理数据落盘的线程数;

apply-max-batch-size: 批量处理的请求个数;

TiKV读取流程

点查流程:

非点查流程

读取瓶颈分析

readpool.unified.max-thread-count: 读线程池

storage.block-cache.capacity: Block Cache的量,如果发现Block Cache 命中率较低,可以适当调大,该值一般占机器内存的45-60%

split.qps-threshold,默认3000

split.byte-threshold,默认30MB/s,达到该值的时候会默认将region打散,从而分散热点;

常见问题

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193247.html原文链接:https://javaforall.cn

0 人点赞