如何做好SQL质量监控

简介: 本文介绍如何通过CloudLens for SLS实现SQL质量监控,帮助用户全面掌握SQL使用情况。涵盖健康分、服务指标、运行明细、SQL Pattern分析及优化建议五大维度,助力识别性能瓶颈、优化资源使用,提升日志分析效率与治理能力。


如何做好SQL质量监控

免费使用

如何做好SQL质量监控

背景
Cloud Native
在 SLS 中,用户可以通过 SQL 对日志数据(结构化、半结构化、无结构化)进行查询和分析。随着用户对 SQL 使用程度的不断加深,越来越多的用户希望了解自己使用 SQL 分析时的服务反馈(如请求量、成功率、数据量等等),以便对数据和分析行为进行精细管理或优化治理。
“现在我这个 Project 的 SQL 并发是多少?”
“奇怪,我 SQL 请求并不多,为什么会有这么多 SQL 请求,是哪个业务线(Logstore)用的?”
“我想了解我在 SLS 中使用 SQL 分析的整体情况,请问有什么监控数据或日志可以查看?
这些都是来自 SLS 真实用户的声音,可以看出用户对于自身 SQL 分析行为的监控和质量管理有着较强的需求。
为了提升用户 SLS SQL 的使用体验,我们提供了用户级 SQL 质量监控功能,希望能够帮助用户直观、清晰地了解自身使用 SQL 的情况。
通过 CloudLens 开启使用
Cloud Native
我们将此功能集成于 CloudLens for SLS中,用户可以轻松开启该服务,并对 SQL 质量进行监控和管理。除此之外,CloudLens for SLS 还帮助您监控和管理所有 SLS 相关资源(包括采集接入、读写操作、作业、配额、SQL、计费等等),以提升您对日志服务资产的管理效率、快速了解其消耗情况。


服务开启后按照引导开通全局日志,数据同步可能需要一定时间(首次开启大约 10min),请耐心等待,随后在「报表中心 / SQL 质量监控」中即可查看完整 SQL 质量监控。


功能总览
Cloud Native
总体上,我们为用户提供了 5 个维度的 SQL 质量监控:
SQL 健康分和使用报告主要展示用户整体使用 SQL 的健康度和总体情况(包含一些很有意思的指标)。
SQL 服务指标主要描述用户使用 SQL 时的整体服务情况,以便用户对服务现状有整体了解。
SQL 运行指标主要描述 SQL 内部运行时的指标,以便用户了解自身 SQL 的实际处理表现和吞吐。
SQL Pattern主要刻画用户提交的 SQL 范式(根据 SLS 原生 sql parse 解析并去除参数差异),以便用户识别出具有相同特征的分析业务,做相关管理和监控。
SQL 质量优化和建议主要描述 SQL 请求的服务质量,包括用户侧错误,给出相关建议,推荐用户进行优化改善。
关于指标的说明:
所有指标以分钟为粒度,根据以下 4 个基础字段(Category 除外)作为分组维度,聚合分析计算得出。
所有指标目前不包含 JDBC 接入和 ScheduledSQL 的流量请求。
所有指标为当前状态,随产品形态和系统发展,未来可能增减指标,以帮助用户更明确的反馈服务情况。
所有指标的解释权归 SLS 所有。
SQL 健康分和使用报告
Cloud Native
通过「SQL 健康分」,反馈用户使用 SLS SQL 服务的总体质量,进而驱动用户去做服务治理和质量优化。
UserStory:很多时候,用户在使用 SQL 的过程中,常常由于 AK 失效/授权过期/索引未建立 / SQL 语法错误等各种客观原因,而发起了大量的无效 SQL 请求,不仅占用了 SQL 请求并发配额,对于用户自身服务器资源也是无效的消耗。通过 SQL 健康分,用户可以一目了然了解自己使用 SLS SQL 的健康情况,并进行针对的优化或者治理。


同时,我们提供了一份用户最近的「SQL 使用报告」。在这里,用户可以从全局视角看到当前账户下使用 SQL 的活跃 Project、活跃 Logstore、SQL 请求量、常用请求代理、SQL 整体表现(包括延时、数据量、数据行数、返回行数、预估并发量等)


SQL 服务指标
Cloud Native
通过「SQL 服务指标」,用户可以了解自己使用 SQL 时更详细的服务质量,包括每分钟的请求 PV 数、平均延时、请求代理分布以及延时四分位的分布水平。
通过这些时序图的趋势展示,用户可以非常直观地了解自己在哪些时段出现过 SQL 请求量飙升或延时毛刺,以便辅助分析业务问题。将时间线拉长到 1 天,用户也可以了解到自己业务高峰一般处在 1 天中的什么时刻,延时毛刺是否与请求量相关等等。


SQL 运行明细指标
Cloud Native
通过「SQL 运行明细指标」,用户可以更进一步地了解当前 SQL 执行情况,包括并发请求(预估)、各阶段平均延时、每分钟的处理数据量和处理行数,以及细化到 Logstore 的 SQL 热力分布情况等等。



关于并发请求(预估)和各阶段平均延时的说明
首先,回答大家一个问题:为什么要有 SQL 并发控制?
SLS SQL 执行涉及到分布式计算,计算过程消耗较多算力资源,而我们的服务是面向云上多租用户的,为了保证资源的公平使用,我们为每个租户设置了合理的并发额度。
每个用户会配置 1 个并发队列和 1 个排队队列,当用户提交一条 SQL 时,会进行并发控制,若并发队列有空余,则直接运行;若并发队列满,则排队等待;若排队队列再满,则并发超限报错。


UserStory:有些用户当并发请求过高时,查询延时会有明显增高,这又是怎么回事呢?
其实,了解了上面的并发控制模型,就不难理解这一点:当一条 SQL 提交时,如果并发队列满,该 SQL 将在排队队列中等待,直到并发队列中最短的一条 SQL 执行完才能腾出空位来,这个时间间隔称为“QueuedTime(排队时间)”,所以,当出现排队时,SQL 端到端的总延时可能会增高,这其中包含了队列中等待在途 Query 完成的排队时间。


因此,为了让大家在日常使用过程中,更合理地使用并发,以及遇到并发超限时进行合理地优化处理,我们提供了并发请求(预估)和各阶段平均延时指标以供用户参考。
SQL Pattern 分析
Cloud Native
我们提供「SQL Pattern分析」视图,将 SQL 中的变量参数进行了泛化,提炼出 SQL 语义特征,用户可以据此了解哪些特征 SQL 请求占比特多、执行特慢、处理量特大等等。
UserStory:很多时候,用户提交的 SQL 是通过程序化方式以模板+参数的方式渲染生成最终 SQL 语句,有可能多条不同的 SQL 对应的其实是同一个业务,为了让用户能更加洞悉业务特征,快速识别出存在问题或异常的业务 SQL。


质量优化和建议
Cloud Native
用户可以通过「质量优化和建议」了解到自己使用 SQL 的整体请求成功/失败占比、错误码的分布,我们还会给出具体的优化建议。
UserStory:很多时候,由于企业组织结构不同,在 SLS 上的资源可能分布在不同的团队,有可能运维部门负责资源的创建(如 Project/Logstore/索引),而数据部门负责数据的使用(如发起 SQL 请求),业务上的快速迭代和变化常常会导致某个 Logstore 已不存在、AK 失效、权限不足等,而数据部门却可能还一直在持续地发起大量的 SQL 请求,造成客户大量无效资源的消耗。这种情况下,各部门往往缺乏一个全局视角了解资源的整体使用情况和错误占比,我们通过优化建议可以让用户从全局视角了解到最需要优化和治理的方面,帮助提效。

相关文章
|
1月前
|
算法 安全 Java
压缩教程学习,文件压缩包解压推荐,BANDIZIP、win_RAR、7-Zip工作使用教程
压缩教程学习,文件压缩包解压推荐,BANDIZIP、win_RAR、7-Zip工作使用教程
699 138
|
1月前
|
IDE Java 开发工具
Mac 安装 JDK 8u281(JDK-8u281-1.dmg)详细步骤(附安装包)
下载JDK-8u281安装包并双击DMG文件,打开PKG安装程序,按提示完成安装。安装过程中需同意协议并输入电脑密码。安装后可通过终端输入“java -version”检查版本,显示1.8.0_281即表示成功。适用于Mac系统开发环境配置。
|
1月前
|
机器学习/深度学习 人工智能 算法
水稻病害检测数据集(7000 张图片已划分)| AI 训练适用于目标检测任务
本数据集包含7000张已标注水稻病害图像,涵盖细菌性叶斑病、褐斑病和叶霉病三类常见病害,适用于目标检测任务。数据按8:1:1划分训练集、验证集与测试集,标注格式支持YOLO等主流模型,可直接用于AI训练与部署,助力智慧农业病害识别研究。
水稻病害检测数据集(7000 张图片已划分)| AI 训练适用于目标检测任务
|
1月前
|
Shell Linux 测试技术
Linux Shell循环详解(从零开始掌握Shell脚本中的循环结构)
本文介绍Linux Shell脚本中for和while循环的基本语法与应用,帮助新手掌握自动化任务处理技巧,提升脚本编写效率。
|
2月前
|
缓存 Windows
彻底卸载软件且不留痕!卸载+清理+启动项优化,彻底清理残留信息
一款小巧高效的卸载工具,仅3.85M,主打彻底清理软件残留文件、注册表、服务等。支持强制卸载、应用商店程序移除、浏览器扩展管理、注册表清理、垃圾文件扫描及空文件夹清理,并提供文件粉碎、快捷方式修复等功能,界面简洁且可换肤,是系统清理的得力助手。
286 6
|
2月前
|
云栖大会
阿里云产品九月刊来啦
2025云栖大会重磅合集,阿里云各产品重大升级发布
180 23
|
2月前
|
机器学习/深度学习 编解码 文字识别
医疗票据OCR图像预处理:印章干扰过滤方案与代码实现
医疗票据OCR技术能自动提取票据中的关键信息,但在实际应用中面临多重挑战。首先,票据版式多样,不同医院、地区的格式差异大,需借助动态模板匹配技术来应对。其次,图像质量参差不齐,存在褶皱、模糊、倾斜、印章遮挡等问题,常通过超分辨率重建和图像修复算法处理。此外,手写体识别、复杂业务逻辑理解(如医疗术语和费用规则)以及数据安全与隐私合规要求也是技术难点。 为应对这些挑战,快瞳系统采用“OCR基础识别 + NLP语义修正”的混合架构,并结合深度学习模型(如CRNN、Transformer)来提升准确率和泛化能力。该技术能显著提升医保报销、保险理赔等场景的效率,是推动医疗信息数字化管理的重要工具。
|
1月前
|
JavaScript 安全 前端开发
智能随访系统源码,如何使用Java Spring Boot,Vue,Ant Design快速开发一套医院随访系统
基于Spring Boot + Vue + Ant Design Vue技术栈开发的医疗随访系统,涵盖患者管理、随访计划与执行、统计报表及系统管理模块。前后端分离架构,支持多渠道随访,数据安全可控,具备良好的扩展性与开发效率。
170 0
|
6天前
|
缓存 NoSQL Redis
千万级数据表的count(*)查询优化
针对千万级数据表`user_factor_auth_record`的COUNT查询性能问题,可通过“避免实时计数、独立计数表、Redis缓存”三大方案优化。优先从业务层面取消总条数展示,减轻数据库压力;若需精确值,可借助事务维护独立计数表,或定时缓存至Redis,分摊开销、提升查询效率。
74 5
|
4天前
|
人工智能 安全 搜索推荐
钉钉发布全球首个工作智能操作系统Agent OS,专为AI打造
钉钉发布AI钉钉1.1“木兰”版本,推出全球首个为AI打造的工作智能操作系统Agent OS,带来DingTalk Real、钉钉ONE等创新产品,全面升级AI搜问、AI表格、AI听记等应用,开启人与AI协同的全新工作方式。
72 0
钉钉发布全球首个工作智能操作系统Agent OS,专为AI打造

热门文章

最新文章