localreader/snapshot/coprocessor问题

在读性能流程 读性能慢-TiKV Server 读流程详解 - #3,来自 北京大爷 中提到如下内容:


1、 snapshot 是一个什么样的结构,包含哪些内容? 目前的snapshot 还是有readpool线程来调用构建吗?

2、 snapshot、coprocessor 和raftstore线程间有什么关系?

3、从changelog 看添加 localreader线程后3.x版本中又移除了,但是目前的版本(6.1.1) tikv detail中还能看到 localreader监控,现在的localreader作用是什么,和snapshot 、coprocessor的关系?

4、raftstore.local-read-batch-size 这个参数指的哪方面的处理大小

  1. snapshot 参考 https://github.com/facebook/rocksdb/wiki/Snapshot ,应该是的 storage read pool
  2. (1). TiKV 收到一个 coprocessor 的请求之后,先解析这个请求,然后根据优先级放入 Coprocessor 相应的线程池
    (2). 请求被 Coprocessor 线程池调度起来之后,第一步先获取 Snapshot
    (3). 然后根据 Snapshot 构建一个 Handler 用来处理这个请求
    (4). 使用步骤 3 构建的 Handler 处理这个请求
    其他的,请其他伙伴继续补充。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。