1.协议层
TiDB 兼容 MySQL 5.7 协议,TiDB 4.0 以上,兼容部分 MySQL 8.0,详情请参考 GitHub
当和客户端的连接建立好之后,TiDB 中会有一个 Goroutine 监听端口,等待从客户端发来的包,并对发来的包做处理。
默认情况下,可以同时执行的 SQL count 为 1000,由 token-limit 参数控制。在特殊场景下 可以使用此参数对 TiDB Server 线程加以限制。
注:OLTP 场景下,建议连接数应该少于500个,并且需要密切关注不同 tidb-server 之间连接数的均匀分布。
监控说明:
-
位置:TiDB – server – get token duration 面板
- 正常情况下,”Get Token Duration” 应该小于 2us
Get Token Duration 耗时比较高说明目前已经在执行的 SQL 达到了 TokenLimiter 的上限,具体情况可能很复杂,比如可能是简单的数量达到了上限,或则内部出现了卡死导致 Token 没有释放。
- 正常情况下,”Get Token Duration” 应该小于 2us