TiDB 升级5.0.2有惊喜
--2021-06-11 刘春雷
1、汇总
1.1、问题
某集群的业务同学反馈:数据量很小,但查询效率差,慢SQL1-2s,需要DBA协助排查下~
1.2、处理
排查问题为5.0.1 的bug,升级至 5.0.2 解决
备注:如果有TiFlash,当前先不推荐升级至5.0.2(最近发现一个 TiFlash compaction filter 的问题,官方还在定位~)
2、问题具体
2.1、信息
集群大小: 13G
版本: 5.0.1
表:3张左右
SQL及索引:按照唯一索引的点查
QPS:查询QPS:2500左右
2.2、问题
【问题】:
SELECT * FROM xxx
WHERE xxx
= ?
点查,走了唯一索引,但是SQL执行时间偶发变长到1-2s左右
【监控】:SQL执行时间很长
999线2s左右~
【慢SQL情况】:
SQL会执行到1-2s
【排查】:
查看Dashboard,发现慢SQL里面除了业务慢SQL,还存在:查询mysql.stats_fm_sketch 的慢SQL,而且量很大~
【处理】:
咨询官方,协助排查,发现是个bug…5.0.2版本修复了,且已经发布了~
- 修复了一个统计信息 GC 的问题,该问题可能导致重复的 fm-sketch 记录 #24357
https://github.com/pingcap/tidb/pull/24357
【后续问题】:
升级5.0.2版本~观察一会,发现性能提升了一些,但是还是比较高,且存在一定报错。15:05 分左右升级,报错持续到15:50,但是神奇的是: 报错在逐渐下降 …
更神奇的是:SQL执行时间在15:40 变好了很多 …这期间没做什么,一直在排查报错信息。
【tidb日志报错】:
[2021/06/11 15:06:46.638 +08:00] [INFO] [conn.go:812] [“command dispatched failed”] [conn=2809] [connInfo=“id:2809, addr:xxx:xxx status:10, collation:utf8_general_ci, user:xxx”] [command=Execute] [status=“inTxn:0, autocommit:1”] [sql=“prepared statement not found, ID: 7389”] [txn_mode=PESSIMISTIC] [err=“ERROR 1243 (HY000): Unknown prepared statement handler (%!(BADPREC)stmt_execute) given to %!s(MISSING)”]
[2021/06/11 15:15:20.017 +08:00] [INFO] [conn.go:812] [“command dispatched failed”] [conn=1157] [connInfo=“id:1157, addr:xxx:xxx status:0, collation:utf8_general_ci, user:xxx”] [command=Execute] [status=“inTxn:0, autocommit:0”] [sql=“prepared statement not found, ID: 195225”] [txn_mode=PESSIMISTIC] [err=“ERROR 1243 (HY000): Unknown prepared statement handler (%!(BADPREC)stmt_execute) given to %!s(MISSING)”]
[2021/06/11 15:37:56.137 +08:00] [INFO] [conn.go:812] [“command dispatched failed”] [conn=1445] [connInfo=“id:1445, addr:xxx:xxx status:10, collation:utf8_general_ci, user:xxx”] [command=Execute] [status=“inTxn:0, autocommit:1”] [sql=“prepared statement not found, ID: 2816”] [txn_mode=PESSIMISTIC] [err=“ERROR 1243 (HY000): Unknown prepared statement handler (%!(BADPREC)stmt_execute) given to %!s(MISSING)”]
此问题官方还在排查,但业务不报错了,算是舒了一口气,后续官方排查就好,当前满足了业务的需求。
另:当前这个集群还是有一点性能问题,没达到最优,官方还在协助排查~
【升级效果】 :
【升级前后,SQL执行时间对比】
分类 | 升级前 | 升级后 | 对比 |
---|---|---|---|
999线 | 1970ms | 243ms | 降低: 87 .66% |
99线 | 1200ms | 71ms | 降低: 94.08 % |
95线 | 107ms | 22ms | 降低: 79.44 % |
80线 | 9ms | 4ms | 降低: 55.56 % |
【监控效果】: !