当前位置: 首页 > news >正文

41.1 预聚合提速实战项目之需求分析和架构设计

本节重点介绍 :

  • 需求分析
  • 架构设计

需求分析

  • 使用预聚合提速查询
  • 并且降低高基数查询对后端的压力
  • 用户无需变更grafana上的查询语句,后端自动替换
  • 效果图
    在这里插入图片描述

在这里插入图片描述

架构设计

  • 架构图
    在这里插入图片描述

解决方案说明

  • heavy_query对用户侧表现为查询速度慢
  • 在服务端会导致资源占用过多甚至打挂后端存储
  • 查询如果命中heavy_query策略(目前为查询返回时间超过2秒)则会被替换为预先计算好的轻量查询结果返回,两种方式查询的结果一致
  • 未命中的查询按原始查询返回
  • 替换后的metrics_name 会变成 hke:heavy_expr:xxxx 字样,而对应的tag不变。对于大分部panel中已经设置了曲线的Legend,所以展示没有区别
  • 现在每晚23:30增量更新heavy_query策略。对于大部分设定好的dashboard没有影响(因为已经存量heavy_query已经跑7天以上了),对于新增策略会从策略生效后开始展示数据,对于查询高峰的白天来说至少保证有10+小时的数据

代码架构说明

  • parse组件根据prometheus的query log分析heavy_query记录
  • 把记录算哈希后增量写入consul,和redis集群中
  • prometheus 根据confd拉取属于自己分片的consul数据生成record.yml
  • 根据record做预查询聚合写入tsdb
  • query前面的lua会将grafana传过来的查询expr算哈希
  • 和redis中的记录匹配,匹配中说明这条是heavy_query
  • 那么替换其expr到后端查询

本节重点总结 :

  • 需求分析
  • 架构设计

相关文章:

41.1 预聚合提速实战项目之需求分析和架构设计

本节重点介绍 : 需求分析架构设计 需求分析 使用预聚合提速查询并且降低高基数查询对后端的压力用户无需变更grafana上的查询语句,后端自动替换效果图 架构设计 架构图 解决方案说明 heavy_query对用户侧表现为查询速度慢在服务端会导致资源占用过多甚至打挂…...

洛谷P2814 家谱(c嘎嘎)

题目链接:P2814 家谱 - 洛谷 | 计算机科学教育新生态 题目难度:普及/提高 解题心得:这道题用了并查集(貌似不怎么常用的字符串并查集),用STL中的map将子孙和祖先连接起来,第一次接触这种做法感…...

时空信息平台-API安全措施-下篇:登录鉴权【访问受限】您的请求已被该站点的安全策略拦截。

文章目录 引言I 登录鉴权处理逻辑校验顺序用户状态校验密码校验Token鉴权短信验证码/图形验证码登录设备限制II 服务端发生错误的处理业务返回码处理前端处理业务返回码nginx处理http状态码引言 时空信息平台-API安全措施:上篇(通讯协议的安全措施) https://blog.csdn.net/z…...

找不到vcruntime140.dll文件,无法继续执行如何修复?共有7种方法

vcruntime140.dll是Microsoft Visual C 2015 Redistributable包的一部分,它是一个动态链接库(DLL),为使用C编写的程序提供必要的运行时支持。当用户尝试运行依赖于这个DLL的程序时,如果系统中缺少vcruntime140.dll文件…...

【PCIe 总线及设备入门学习专栏 4.5 -- PCIe Message and PCIe MSI】

文章目录 PCIe Message 与 MSIPCIe Message 和 MSI 的作用与关系MSI 的配置与寄存器MSI 和 ARM GIC 的关系示例:MSI 在 ARM GIC 的实际应用总结 PCIe Message 与 MSI 本文将介绍 PCIe message 的作用以及message 与 MSI 的关系,再介绍 MSI 如何配置以及…...

Docker搭建MySQL

Docker搭建MySQL 准备工作 先准备配置目录和持久化目录,举个栗子:mkdir -p /opt/module/mysql/{conf,data,log}准备配置文件*.cnf,放到/opt/module/mysql/conf目录下。当然不准备也没事,容器中有个默认配置:/etc/mysql/conf.d/m…...

#C01L11P02. C01.L11.while循环.while循环和for循环的区别

唉,你们善良的王又来给你们发文章了!!! for循环一般应用于循环次数已知的情况; while循环一般应用于循环次数未知的情况; 在一般情况下,这两者是可以相互转化的。 举一个简单较适合用for循环…...

利用deepspeed在Trainer下面微调大模型

当模型参数越来越大的情况下,如果我们的GPU内存比较小,那么就没办法直接进行全参数微调,此时我们可以借助deepspeed来进行微调。 1、deepspeed的配置文件:deepspeed.json {"train_batch_size": 4,"train_micro_b…...

【spring】参数校验Validation

前言 在实际开发中,我们无法保证客户端传来的请求都是合法的。比如一些要求必传的参数没有传递,传来的参数长度不符合要求等,这种时候如果放任不管,继续执行后续业务逻辑,很有可能就会出现意想不到的bug。 有人可能会…...

基于PyQt5的UI界面开发——图像与视频的加载与显示

介绍 这里我们的主要目标是实现一个基于PyQt5和OpenCV的图像浏览和视频播放应用。用户可以选择本地的图像或视频文件夹,进行图像自动播放和图像切换以及视频播放和调用摄像头等操作,并且支持图像保存功能。项目的核心设计包括文件路径选择、图像或视频的…...

[python SQLAlchemy数据库操作入门]-16.CTE:简化你的复杂查询

哈喽,大家好,我是木头左! 在SQL的世界里,Common Table Expressions(公共表表达式),简称CTE,是一种强大的工具,它允许用户在单个查询中定义临时的结果集。这些结果集可以在整个查询中被多次引用,就像它们是数据库中的物理表一样。CTE不仅提供了一种组织和简化复杂查询…...

多分类的损失函数

在多分类任务中,常用的损失函数能够衡量模型输出的类别分布与目标类别之间的差异,帮助模型学习更准确的分类能力。以下是多分类任务中常用的损失函数: 1. 交叉熵损失(Cross-Entropy Loss) 公式: CrossEntropyLoss = − 1 N ∑ i =...

在WSL的系统中配置免密和GitHub传输数据(SSH)

在 WSL(Windows Subsystem for Linux)系统中配置免密与 GitHub 传输数据,主要包括设置 SSH 密钥对、将公钥添加到 GitHub 账户以及确保可以通过 WSL 正常使用这些密钥。以下是详细的步骤: 1. 检查现有 SSH 密钥 首先&#xff0c…...

Python中元组(tuple)内置的数据类型

在Python中,元组(tuple)是一种内置的数据类型,用于存储不可变的有序元素集合。元组在很多方面与列表(list)相似,但它们之间存在一些关键的区别。以下是关于Python元组的详细解释: 定…...

chrome缓存机制以及验证缓存机制

一、Chrome 缓存机制 浏览器缓存机制旨在提高网页加载速度、减少服务器负载和节约带宽。Chrome 的缓存主要包括以下几种类型: 1. 强缓存 (Strong Cache) 无需向服务器发送请求即可使用缓存的资源。由 HTTP 响应头控制,包括: Expires&…...

医药进出口交易|基于SSM+vue的医药进出口交易系统的设计与实现(源码+数据库+文档)

医药进出口交易系统 目录 基于SSM+vue的医药进出口交易系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 5.1系统登录 5.2管理员功能模块 5.3仓储部门功能模块 5.4业务部门功能模块 5.5供应部门功能模块 5.6财务部功能模块 5.7客户功能模块 …...

爱快 IK-Q6000 WiFi6无线路由器 简单开箱评测和拆解

爱快(iKuai) IK-Q6000 WiFi6无线路由器 简单开箱评测和拆解 因为用的爱快软路由,所以就想着将AP全换成爱快的,方便管理,目前买了多款爱快的无线路由器当AP(IK-Q6000、IK-W35、IK-Q3600)&#x…...

时间敏感网络中全面分析与调度的模型驱动方法

论文:A Model-Driven Approach for the Comprehensive Analysis and Scheduling in Time-Sensitive Networks》 背景与动机 TSN 的发展与应用领域:自 2012 年起,IEEE 802.1 TSN 任务组致力于开发通信标准,增强 IEEE 802 网络&…...

统计颜色Count Color(POJ2777)题解

有一个长度为L厘米板,L是一个正整数,所以我们可以把它均匀地划分成L个部分,分别从左到右编号为1,2……L,每一个部分长度都为1厘米。现在我们必须给每个部分涂色,一个部分一种颜色,要求完成以下两…...

MySQL数据的增删改查(一)

目录 新增(create) 插入单条记录 插入多条记录 查询(retrieve) 查询所有列 查询特定列 查询字段为表达式 别名 去重 排序 按单列排序 按多列排序 使用表达式或别名排序 排序NULL值 条件查询 比较运算符 逻辑运算…...

DownKyi:解锁B站视频收藏与管理的智能工具箱

DownKyi:解锁B站视频收藏与管理的智能工具箱 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 …...

MAA明日方舟自动化助手:终极一站式长草解决方案

MAA明日方舟自动化助手:终极一站式长草解决方案 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitcode.c…...

Qwen3-14B镜像快速入门:内置模型+完整环境,开箱即用教程

Qwen3-14B镜像快速入门:内置模型完整环境,开箱即用教程 1. 为什么选择Qwen3-14B镜像 在AI模型部署过程中,环境配置往往是最耗时的环节。传统部署方式需要手动安装CUDA、PyTorch、模型权重等数十个组件,版本兼容性问题频发&#…...

从钓鱼邮件看防御:用DMARC报告分析攻击手法(含真实案例拆解)

从钓鱼邮件看防御:用DMARC报告分析攻击手法(含真实案例拆解) 邮件安全防护体系中,DMARC报告常被视为"事后审计工具",但安全团队往往低估了它在攻击溯源中的战略价值。去年某金融企业遭遇的定向钓鱼攻击中&am…...

如何利用 SEO 优化平台提高网站排名

如何利用 SEO 优化平台提高网站排名 在当前数字化时代,网站排名是吸引流量、提升业务的重要因素。搜索引擎优化(SEO)在这一过程中扮演着不可或缺的角色。本文将详细探讨如何利用 SEO 优化平台来提高网站在搜索引擎中的排名,涵盖问…...

通义千问API调用避坑指南:从环境变量失效到流式输出卡顿,我踩过的坑都在这了

通义千问API实战避坑手册:环境变量、流式输出与模型选择的深度优化 当开发者第一次接触通义千问API时,往往会被其强大的功能和简洁的文档所吸引。然而在实际集成过程中,各种"玄学"问题接踵而至——从环境变量神秘失效到流式输出莫名…...

终极指南:MoCo性能基准测试揭秘,ImageNet上67.5%准确率如何实现

终极指南:MoCo性能基准测试揭秘,ImageNet上67.5%准确率如何实现 【免费下载链接】moco PyTorch implementation of MoCo: https://arxiv.org/abs/1911.05722 项目地址: https://gitcode.com/gh_mirrors/mo/moco MoCo(Momentum Contras…...

效率提升:用快马AI构建集成化web终端效率工具面板

效率提升:用快马AI构建集成化web终端效率工具面板 作为一个经常需要操作终端命令的开发者,我一直在寻找提升效率的方法。本地工具如xshell8确实好用,但每次换设备都要重新配置,而且无法轻松分享给团队成员。最近尝试用InsCode(快…...

嵌入式开发中的串口打印调试与printf重定向

1. 为什么需要串口打印调试?在嵌入式开发中,调试手段的选择往往决定了问题排查的效率。使用仿真器(如J-Link、ST-Link)进行单步调试确实是最直观的方式,但在实际项目中经常会遇到以下限制:硬件限制&#xf…...

Shell脚本初级测试题

文章目录一、 填空题 (共10题)二、 选择题 (共10题,单选)以下是为Shell脚本初学者设计的20道练习题,涵盖填空和选择两种题型,所有题目均基于您提供的【文档内容】。一、 填空题 (共10题) Shell脚本是解释型程序,其本质是将需要执…...