Tidb的连接数

为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:

  • 系统版本 & kernel 版本: Centos 7.6 3.10.0-957.el7.x86_64
  • TiDB 版本: 3.0.2
  • 磁盘型号:15000转sas
  • 集群节点分布:2个tidb 2个pd 3个tikv
  • 数据量 & region 数量 & 副本数:
  • 集群 QPS、.999-Duration、读写比例:
  • 问题描述(我做了什么):请问tidb集群中tidb-server的连接数怎么控制,我在文档中看,不支持max_conection max_user_conneciton之类的参数,那么我怎么控制并发,超过并发数的连接是拒绝还是连入tidb-server,然后处于sleep状态,或者说是否有类似线程池的功能,初始化一部分连接给前端用呢。

TiDB-Server 配置中没有连接数限制的概念,但是有另外一个参数会控制一次运行多少 session 的任务。

--token-limit

  • TiDB 中同时允许运行的 Session 数量,用于流量控制。
  • 默认:1000
  • 如果当前运行的连接多余这个 token-limit,那么请求会阻塞等待已经完成的操作释放 Token。

https://pingcap.com/docs-cn/v3.0/reference/configuration/tidb-server/configuration/#token-limit

1 个赞

阻塞的意思是链接会被拒绝?还是链接进tidb-server但是处于等待状态。

所有连接都会连到 TiDB Server,但是执行就有等待。

所以,如何通过TIDB server 查看TIDB当前连接数呢?

在 tidb 的 grafana 监控里面可以看到 tidb server 的连接数

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