0
0
0
0
专栏/.../

TiDB升级5.0.2有惊喜

 18515065291  发表于  2021-11-02

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左右~

1

【慢SQL情况】:

SQL会执行到1-2s

2

【排查】:

查看Dashboard,发现慢SQL里面除了业务慢SQL,还存在:查询mysql.stats_fm_sketch 的慢SQL,而且量很大~

3

【处理】:

咨询官方,协助排查,发现是个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)”]

此问题官方还在排查,但业务不报错了,算是舒了一口气,后续官方排查就好,当前满足了业务的需求。

另:当前这个集群还是有一点性能问题,没达到最优,官方还在协助排查~

【升级效果】

4
5

【升级前后,SQL执行时间对比】

分类 升级前 升级后 对比
999线 1970ms 243ms 降低: 87 .66%
99线 1200ms 71ms 降低: 94.08 %
95线 107ms 22ms 降低: 79.44 %
80线 9ms 4ms 降低: 55.56 %

【监控效果】: !

6

0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论