TiDB 升级 5.x 连接问题
作者: 18515065291 原文来源:https://tidb.net/blog/f3ef3853
1、现象
情况: 某业务有 3 套集群
新的业务部署了 5.0.1 和 5.0.3 版本的集群,
老的业务是 4.0.2 版本的集群
问题:
但是业务反馈:发现程序连接 tidb 集群 4.0.2 时, 特别快, 毫秒级;
连接 tidb 集群 5.0.1、5.0.3 特别慢, 百毫秒级。
2、具体
2.1、旧程序参数
JDK: 1.6 (1.6.0_45)
驱动包: mysql-connector-java-5.1.6.jar
驱动类: com.mysql.jdbc.Driver
连接 url 示例: “jdbc:mysql://10.0.0.1:100/db_name?connectTimeout=1000&useUnicode=true&characterEncoding=utf-8&autoReconnect=true
2.2、新程序参数
JDK: 1.8 (1.8.0_231)
驱动包: mysql-connector-java-6.0.6.jar
驱动类: com.mysql.cj.jdbc.Driver
连接 url 示例: “jdbc:mysql://10.0.0.1:100/
升级了程序的 JDK 后,连接正常
3、原因
TiDB 的 4.0.9+、5.0 版本都有一个缺陷,就是一个连接第一执行 SHOW VARIABLES 的时候会很慢,这个问题在 5.1 版本修复了,预计会在 4.0、5.0 的下一个小版本修复。
JDBC 5.1.6 又有一个问题,是每一个连接在创建的时候都会执行一次 SHOW VARIABLES,跟 TiDB 4.0.9+、5.0 一起用的时候观察到的现象就是连接的建立比较慢
所以用户升级 JDBC 驱动以后,看到变快了。
TiDB 在下一个 4.0、5.0 版本会修复那个问题,到时候用户就不需要升级 JDBC 版本
综上 :为了避免升级连接时间变长,推荐先升级下 JDBC 版本,再进行数据库版本升级
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/18297f95b66d8a2d166597321】。文章转载请联系作者。
评论