Table of Contents
一. 问题描述
2023-05-18 将StarRocks从2.3.0升级到2.5.5。
升级完成后,所有的查询均比较慢,前端报表页面点开也卡。
二. 解决方案
2.1 从慢查询定位
StarRocks慢查询对应的GitHub地址:https://github.com/WuMenglong/fe-plugins-auditloader
select *
from starrocks_audit_db__.starrocks_audit_tbl__ sat
where sat.isQuery = 1
and queryType = 'slow_query'
order by sat.`timestamp` desc;
可以看到,慢查询里面,CPU用于解析SQL生成执行计划的时间非常长,远高于实际执行的时间

2.2 定位CPU解析时间就的问题
从普罗米修斯上看到,集群CPU资源使用率不高,也就不存在资源的瓶颈

后面想到了,新版本的统计信息会有新增,那我们来看看统计信息

select * from table_statistic_v1 tsv order by tsv.update_time DESC ;
select * from column_statistics cs order by cs.update_time desc;
-- 直方图手工收集
select * from histogram_statistics hs order by hs.update_time desc;
从下图我们可以看到列的统计信息是此次新增的,要收集所有存量表的列的统计信息,耗时较久
CPU解析SQL生成执行计划,需要依赖统计信息,如统计信息正在收集中,那么此时CPU会等待统计信息收集完成或采用动态采样
无论使用哪一种方式,都会消耗CPU时间,导致SQL执行计划生成时间大大增加。
顾我们耐心等待统计信息收集完成即可。

有点坑,升级后自动开启全量的统计信息采集(而不是抽样的)

后台查看,任务处于pending状态

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




