烂sql导致clickhouse集群memory_tracking直线飙升触发熔断

news2024/11/16 9:40:21

版 本 v e r s i o n   1 9 . 1 7 . 4 . 1 1     c l i c k h o u s e   集 群 , 主 要 存 日 志 数 据 与 监 控 数 据 。 架 构 为 4 台 主 机 1 2 个 实 例 数 , 数 据 为 单 副 本 。

近 日 , 该 c l i c k h o u s e 集 群 有 一 台 物 理 机 的 硬 件 ( 电 池 ) 损 坏 , 损 坏 的 硬 件 完 成 更 换 后 , 就 有 人 反 馈 数 据 查 询 异 常 , 报 D B : : E x c e p t i o n :   M e m o r y   l i m i t   ( t o t a l )   e x c e e d e d :   w o u l d   u s e   1 1 1 . 7 6   G i B   ( a t t e m p t   t o   a l l o c a t e   c h u n k   o f   5 7 6 6 8 8 0   b y t e s ) ,   m a x i m u m :   1 1 1 . 7 6   G i B  

报 错 指 向 内 存 , 看 查   c l i c k h o u s e _ m e m o r y _ t r a c k i n g   内 存 的 使 用 情 况 , 2 0 2 3 . 0 6 . 2 6   1 7 : 5 7   左 右   c l i c k h o u s e   集 群 各 个 节 点 c l i c k h o u s e _ m e m o r y _ t r a c k i n g 直 线 上 升 ( 除 了 硬 件 异 常 的 节 点 几 乎 始 终 为 0 ) , 最 终 迫 近 单 机 最 大 的 内 存 使 用 量   m a x _ m e m o r y _ u s a g e _ f o r _ a l l _ q u e r i e   的   1 2 0 G , 当 总 内 存 使 用 超 过 1 2 0 G 后 触 发 熔 断 , 中 断 请 求 , 也 就 是 上 文 提 到 的   M e m o r y   l i m i t   ( t o t a l )   e x c e e d e d

 

  c l i c k h o u s e _ g l o b a l _ t h r e a d _ a c t i v e   正 常 情 况 下 保 持 为 十 位 数 , 异 常 飙 升 至 5 千 多

 

异 常 时 间 段 c l i c k h o u s e _ q u e r y   请 求 也 有 波 动

 

2023-06-26 17:50:00 ~ 2023-06-26 18:08:00  这 段 时 间 c l i c k h o u s e 集 群 到 底 在 执 行 什 么 内 容

select query_start_time,query_duration_ms,address,read_rows,query from system.query_log where event_time  between toDateTime('2023-06-26 17:50:00') and toDateTime('2023-06-26 18:08:00') order by read_rows desc limit 10

获 取 到 的 有 用 信 息 , 有 人 执 行   ( 此 类 请 求 存 在 并 发 ) s e l e c t   *   f r o m   x x 1   U N I O N   A L L   s e l e c t   *   f r o m   x x 2   拼 接 最 近 半 年 数 据 的 烂 s q l , 相 当 于 是 1 8 2 个 表 U N I O N   A L L , 数 据 量 达 3 0 0 亿

 

异 常 时 间 段 c l i c k h o u s e 集 群 日 志 报 错   D B : : E x c e p t i o n :   C a n n o t   s c h e d u l e   a   t a s k   ( v e r s i o n   1 9 . 1 7 . 4 . 1 1   ( o f f i c i a l   b u i l d ) )   ( f r o m   1 7 2 . 2 6 . 1 8 5 . 1 8 6 : 5 1 7 0 8 )   ( i n   q u e r y :   S E L E C T   a p i   F R O M   i o v _ l o g . t _ i o v _ g w _ l o g _ l o c a l _ 2 0 2 3 0 1 2 7 ) ,   S t a c k   t r a c e , 指 向 硬 件 异 常 的 物 理 机   1 7 2 . 2 6 . 1 8 5 . 1 8 6

2023.06.26 17:57:30.120612 [ 34959 ] {a6ee5760-0b1c-410d-a6de-a5016425fe68} <Error> executeQuery: Code: 439, e.displayText() = DB::Exception: Cannot schedule a task (version 19.17.4.11 (official build)) (from 172.26.185.186:51708) (in query: SELECT api FROM iov_log.t_iov_gw_log_local_20230127), Stack trace:

( 便 于 更 好 的 观 察 各 个 指 标 , 贴 一 张 核 心 指 标 汇 总 图 )

 

原 因 大 致 清 晰 了

1 7 2 . 2 6 . 1 8 5 . 1 8 6   物 理 机 硬 件 损 坏   - >   1 7 2 . 2 6 . 1 8 5 . 1 8 6   有 巨 烂 s q l 查 询   1 8 2 个 分 布 式 表 U N I O N   A L L , 总 数 据 量 达 3 0 0 亿   - >     触 发 1 7 2 . 2 6 . 1 8 5 . 1 8 6   c l i c k h o u s e _ l o c a l _ t h r e a d   线 程 飙 高   - >   触 发     c l i c k h o u s e _ g l o b a l _ t h r e a d _ a c t i v e   线 程 飙 高   - >   c l i c k h o u s e _ m e m o r y _ t r a c k i n g   飙 高   - >   达 到   m a x _ m e m o r y _ u s a g e _ f o r _ a l l _ q u e r i e   阈 值   - >   M e m o r y   l i m i t   ( t o t a l )   e x c e e d e d   报 错   - >   轮 询 重 启 c l i c k h o u s e 集 群 业 务 恢 复

优 化 点

1 、   c l i c k h o u s e _ g l o b a l _ t h r e a d _ a c t i v e   活 跃 线 程 数 监 控 告 警

2 、 c l i c k h o u s e _ m e m o r y _ t r a c k i n g   内 存 使 用 大 小 监 控 告 警

3 、 优 化   m a x _ m e m o r y _ u s a g   单 个 S Q L 在 单 台 机 器 最 大 内 存 使 用 量

4 、 约 束 烂 s q l

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb之jsp技术的个人理解

一.介绍 是什么&#xff1a;ava Server Pages&#xff1a; java服务器端页面&#xff08;可以理解为&#xff1a;一个特殊的页面&#xff0c;其中既可以指定定义html标签&#xff0c;又可以定义java代码&#xff09;&#xff0c;用于简化书写&#xff01;&#xff01;&#xf…

Elasticsearch 安装使用

下载安装 elasticsearch下载链接 运行&#xff1a;bin\elasticsearch.bat 设置密码&#xff1a;.\bin\elasticsearch-setup-passwords interactive 这边设置密码遇到一个坑 PS G:\elasticsearch-8.8.1> .\bin\elasticsearch-setup-passwords interactiveFailed to authe…

arcpy对图层文件的属性表实现查询、插入、更新、删除

前言 对属性表进行增删改查要用到插入游标、删除游标、更新游标、查询游标。 官方文档地址如下&#xff1a;https://resources.arcgis.com/zh-cn/help/main/10.2/ 授人以鱼不如授人以渔&#xff01;&#xff01; 一、查询游标SearchCursor SearchCursor 函数用于在要素类或…

代码复现:基于竞争学习的灰狼优化算法Clb-GWO

代码复现&#xff1a;基于竞争学习的灰狼优化算法Clb-GWO&#xff0c;可用于算法对比 参考文献&#xff1a;Aala Kalananda V K R, Komanapalli V L N. A competitive learning-based Grey wolf Optimizer for engineering problems and its application to multi-layer perce…

MeterSphere(基于JMeter)常用断言汇总

JSONPath方式断言 {"success": true,"errCode": null,"errMessage": null,"statDate":"6月28日","data": [{"name": "人口","value": "1","unit": "万人…

数字孪生与 GIS 融合为环保领域带来新的变化

在当今日益关注环境保护和可持续发展的时代&#xff0c;数字孪生和 GIS 的融合为环境保护领域带来了巨大的变化。数字孪生是一种以 3D 模型为基础的仿真技术&#xff0c;能够对真实世界进行精确的建模和模拟&#xff0c;而 GIS 则是一种用于收集、管理、分析和可视化地理数据的…

【Uni-app 引入海康h5player并接入ws视频流】

uni-app 海康h5player接入ws视频流 内容简介 采用uni-app中的renderjs 引入海康H5 SDK 后端接入海康综合安防平台的开放API获取预览流 海康H5 SDK 下载地址 接入原因 因在移动端接入不管是hls flv rtsp rtmp流的播放稳定性和速度均很慢&#xff0c;特采用ws直连流来播放&#…

REVIT技巧|一面接一面,叠层墙就是这样堆出来的?

​Revit中有3种墙族&#xff1a;基本墙、幕墙和叠层墙。幕墙定义为由网格和嵌板组成的系统。 基本墙是由从外部到内部的材质层组成的墙。基本墙自底部到顶部的厚度都相同。 叠层墙由相互堆叠的基本墙组成&#xff0c;可以设计具有自底部到顶部厚度不同的墙。 今天&#xff0c…

1.4 MyBatis数据库逆向生成工具

步骤1: mybatis-generator工程 步骤2&#xff1a;修改generatorConfig.xml内容 1.通用mapper所在目录 2.数据库链接 3.对应生成的pojo所在包 4.对应生成的mapper所在目录 5.配置mapper对应的java映射 6.数据库表 具体内容&#xff1a;<!-- 通用mapper所在目录 --> &l…

记录两个不同的域名使用同一个微应用遇到的坑(micro-app)

由于公司的项目越来越多&#xff0c;很多的系统&#xff0c;也有很多相似的模块&#xff0c;为了解决重复造轮子&#xff0c;降低开发维护成本&#xff0c;故将这些抽出来单独作为微应用。经过调研&#xff0c;发现某东出品的micro-app比较吻合。使用过程省略。 在多个项目&am…

Grafana 配置告警 配置 dubbo windows_exporter 报告页面图 其他公共报告可参考相近

目录 安装部署 官网下载 配置中文 启动 访问 账户密码 界面效果 图表操作 新建添加仪表 添加 Prometheus 数据源 导入已有报告示例 下载 windows_exporter Grafana 的图表模板 node_exporter 中文版&#xff1a;windows_exporter for Prometheus Dashboard CN v2…

2023年全网最全接口自动化测试框架搭建,没有之一

一、原理及特点 参数放在XML文件中进行管理 用httpClient简单封装一个httpUtils工具类 测试用例管理使用了testNg管理&#xff0c;使用了TestNG参数化测试&#xff0c;通过xml文件来执行case。 测试报告这里用到第三方的包ReportNG 项目组织用Maven 二、准备 使用工具&am…

期货和现货白银的区别

白银期货和现货白银既有区别&#xff0c;也有联系&#xff0c;它们二者都是以银价跟跟踪对象的保证金交易品种&#xff0c;因此都具有一定的杠杆效应&#xff0c;都可以双向操作&#xff0c;但是它们在交易制度、时间、杠杆水平等诸多方面&#xff0c;都存在明显的区别。 投资者…

为什么你总学不会编程?到底差什么?

为什么你总学不会编程&#xff1f;到底差什么&#xff1f; 笔者看到太多太多的人花上钱、耗费一两年的时间都学不会编程&#xff0c;甚至一门C语言都反反复复学不完、学不会&#xff0c;游走在大门边缘&#xff0c;总是入不了门&#xff0c;到底是什么因为什么&#xff1f; 因…

020、数据库管理之数据导出工具(Dumpling)

Dumpling dumpling详解dumpling介绍dumpling架构与特点dumpling 适用场景dumpling的部署dumpling 所需权限dumpling 导出SQL文件dumpling 导出csv文件对导出数据进行筛选导出数据的格式导出数据的一致性dumpling 性能优化 实验导出TiDB 数据库中的单张表和单个库导出mysql数据库…

tomcat接入skywalking

tomcat接入skywalking 一、说明二、步骤2.1 准备java-agent包2.2 tomcat部署2.2.1 下载2.2.2 tomcat修改catalina.sh文件2.2.3 tomcat修改启动端口2.2.4 启动tomcat 三、验证四、问题排查4.1 tomcat的启动日志 一、说明 服务器中已经运行着skywalking&#xff0c;准备在同一台…

【Jmeter教程】_设置请求的参数

目录 一、Jmeter传参 二、区分参数格式 在做接口测试时&#xff0c;发送请求的参数有两种格式&#xff0c;一种是Parameters&#xff0c;一种是JSON 一、Jmeter传参 Jmeter 传Parameters格式的参数 Jmeter 传JSON格式的参数 二、区分参数格式 在不清楚参数到底是何种格式时…

使用Arthas查看JDK代理源码

【README】 本文总结自黑马程序员-设计模式&#xff0c;老师讲的非常棒&#xff1b; 【1】jdk代理案例 卖票接口 public interface SellTickets2 {void sell(); }火车站 public class TrainStation2 implements SellTickets2 {Overridepublic void sell() {System.out.prin…

Vulnhub: DarkHole:1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.130 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.130 访问目标web网站&#xff0c;注册用户 注册时尝试注册用户名为admin的用户&#xff0c;发现存在该用户 进入用户后台&…