CloudDBA新功能上线——SQL过滤/限制/防火墙

摘要: 前言 CloudDBA是阿里云数据库团队开发的智能诊断和优化平台,可以帮助用户更好使用阿里云数据库。CloudDBA不断提升算法和规则,更好的匹配更多用户场景,刚刚上线了SQL过滤功能,用来解决某类SQL给系统带来的冲击。

1 前言
CloudDBA是阿里云数据库团队开发的智能诊断和优化平台,可以帮助用户更好使用阿里云数据库。
CloudDBA不断提升算法和规则,更好的匹配更多用户场景,刚刚上线了SQL过滤功能,用来解决某类SQL给系统带来的冲击。

2 功能描述
匹配用户设置的关键字和并发数,对某类SQL(SELECT/UPDATE/DELETE)进行按并发数限流,当这一类SQL的并发小于并发数的进到Server层,大于并发数的丢弃。
该功能只能用来救急,不适合长时间运行。

3 对业务的影响
3.1 收益

限制了问题SQL后,保障DB Server端能正常响应正常业务的语句,保障大部分的业务正常运转

3.2 弊端
如果设置了SQL防火墙,该SQL被限制后,应用端会收到1317错误,即

query execution was interrupted
4 适用场景
如果业务方能够接受舍小(小部分业务损失)保大(大部分业务正常运转),可以进行限流;
如果不能接受上述报错,就要接受整个业务被拖垮的可能。

4.1 能解决的场景
4.1.1 某类SQL并发急剧上升,影响正常业务

比如缓存穿透,或者异常调用,可能会造成原来并发不大的SQL语句,并发量突然上升

4.1.2 有数据倾斜SQL,影响正常业务
比如大促时拉取某个特别大的数据,造成整体系统繁忙

4.1.3 未创建索引SQL,影响正常业务
比如新上线SQL调用量特别大,又没有创建索引,造成整体系统繁忙

4.2 处理误区
4.2.1 切换主备

以前碰到上述情况,见有的运维人员是切换主备尝试解决上述问题,主备的配置是一样的,如果主库有问题,同样的请求到备库也是同样的问题,所以切换是解决不了问题的。

4.2.2 kill问题语句
kill语句是可以减少系统压力,未尝不是一种处理手段。但是,请求是不断进来的,不停kill语句手都酸了吧?

4.3 可以尝试的解决方法
上面提到这个功能只是应急手段那么如何才能解决该类问题呢?

提高缓存命中率
使用只读实例
快速加索引
5 使用方式
5.1 路径

RDS控制台->找到具体实例->CloudDBA->问题诊断->SQL过滤

5.2 找到要限制的SQL语句
通过"问题诊断"里面,观察到某类SQL执行特别慢,并发又特别多时,这条语句可能就是问题SQL,经过再三确认(根据经验,跟业务开发,跟老板)后就可以限制并发啦。
例如:

想限制下面这类语句:

SELECT * FROM sbtest4 WHERE top_cmt_id=99738 AND status in (1,3) and parent_cmt_id >= 0 order by add_time desc limit 0,20
就要执行下面的步骤

5.3 创建过滤规则
5.3.1 SQL类型

是限制SELECT语句还是限制UPDATE语句还是限制DELETE语句,安全起见默认支持SELECT语句,建议您也优先设置SELECT语句

5.3.2 最大并发度
该次限制的SQL最大允许在Server端跑多少个

5.3.3 限流时间
允许SQL过滤最大执行时间;超过了指定时间,就会自动终止该限制

5.3.4 SQL关键词
SQL过滤的匹配关键词,多个关键词之间以~分隔,不要有空格之类的特殊字符
接着上面的例子,SQL关键词我可以这样拼写

SELECT~FROM~sbtest4~WHERE~top_cmt_id~status~parent_cmt_id~order~add_time~desc

5.4 重置/终止过滤规则
当遇到设置规则错误,或者想提前终止SQL过滤,可以执行该操作。

5.5 查看过滤历史记录
凡是对该实例执行过SQL过滤功能的,都可以在这里查到记录,方便排查问题。

6 注意事项
该功能只能用来救急,不适合长时间运行
安全起见默认支持SELECT语句,建议您也优先限制SELECT语句
该功能只能运行在MySQL 5.6版本
该功能是内核层面上的改进,无论是使用高安全链路还是普通链路都可以使用
可以设置多个SQL过滤(根据不同的关键词)
如果同一类型的SQL关键词设置了多次,限制的并发按这几个并发的和限制
要限制的SQL语句匹配越严格越精准,对业务影响最小
如果设置的不够精准,例如SQL关键词是

SELECT~FROM~sbtest4
那匹配上述规则的SQL语句,哪怕是正常业务的,也可能被限制掉了

被限制后的SQL在应用端会出现
1317 query execution was interrupted
该限制只对被设置的实例生效,不影响主账号下面的其他实例
该限制规则只对新链接有效,如果想使用该规则,在设置过规则后,需要把老链接手动kill(在CloudDBA里可做)
如果您在使用CloudDBA过程中有什么问题,或者好建议,欢迎进群

原文链接请添加链接描述
本文为云栖社区原创内容,未经允许不得转载。

原文地址:http://blog.51cto.com/13876536/2155249

时间: 2024-11-05 16:07:44

CloudDBA新功能上线——SQL过滤/限制/防火墙的相关文章

寻找jar包网站的新功能上线

findmaven.net是一个查找Jar和查找Maven的Maven仓库搜索引擎,它可以根据Java开发者提供的Class名或者Jar名找到包含它的Jar,同时提供Jar的Maven仓库链接,Maven POM,Maven依赖树,JavaDoc,Jar源代码和Jar结构树. 最近上线了若干新功能,欢迎大家使用 1.class和jar的提示功能 2.更加详细的jar信息显示

PDF365新功能上线,PDF文档合并,拆分免费不用就亏了

还在为PDF文档合并而烦扰吗? 还在为PDF文档拆分而烦扰吗? 还在为PDF文档旋转而烦扰吗? PDF365来帮你,PDF365是PDF文档在线处理平台,支持PDF文档转换,PDF文档处理服务,无需安装,遇到文档转换格式问题,只要打开pdf365.cn这个网站即可解决. 近期PDF365推出了新功能:PDF合并,PDF拆分,PDF旋转,这3个功能均免费,让您工作效率和质量得到更好的提升与便捷! 文档处理步骤简单,极易上手,我们以PDF合并为例教大家如何使用 在浏览器直接输入:PDF365.cn,

51CTO博客2.0新功能上线,快来跟我一起用一句话介绍自己

在今天这个万众瞩目世界杯,人人等待端午节的日子里,我们51CTO博客2.0终于又迎来了一次版本更新. 现在大家跟我一起使用本次更新的新功能,用一句话介绍自己吧!! Q:一句话简介可以在那儿被看到? 1. 你的简介可以在个人主页被看大家看到 2. 你的简介可以在文章详情页被大家看到 Q:我的一句话简介要在哪设置? 第一步,点开自己的个人主页.具体位置,如图所示 第二步,点击个人主页,如图所示红框中小蓝笔. PS,如果您点击的是第一步中的博客管理,请按下图操作 第三步,在如图的红框之中写一个不超过2

kubernetes微服务扩容与新功能版本的发布

微服务不需要像普通服务那样成为一种独立的功能或者独立的资源.定义中称,微服务是需要与业务能力相匹配,这种说法完全正确.不幸的是,仍然意味着,如果能力模型粒度的设计是错误的,那么,我们就必须付出很多代价.如果你阅读了Fowler的整篇文章,你会发现,其中的指导建议是非常实用的.在决定将所有组件组合到一起时,开发人员需要非常确信这些组件都会有所改变,并且规模也会发生变化.服务粒度越粗,就越难以符合规定原则.服务粒度越细,就越能够灵活地降低变化和负载所带来的影响.然而,利弊之间的权衡过程是非常复杂的,

微信“为盲胞读书”项目上线“团体领读”新功能

近日,微信团队宣布上线“团体领读”新功能,团体领读是对于“为盲胞读书”项目的一次升级,参与组织单位可从微信领取一个团体代码,选择读书段落.为盲胞读书项目有一个公众号,鼓励关注用户每人一分钟,让盲胞有书可读.通过语音功能,朗读一小段文字,你就可以成为声音的捐献者,为盲胞制作充满温暖的有声书. 用户进入“为盲胞读书”公众号,输入团体代码,即可随时随地与同事.客户.周边朋友阅读同一本书籍,合力为视障群体读书.腾讯微信事业群技术顾问杨强表 示,微信按照段落分发给用户,收集一分钟的声音后,利用智能处理技术

SQL Server 2014新功能 -- 内存中OLTP(In-Memory OLTP)

SQL Server 2014新功能 -- 内存中OLTP(In-Memory OLTP) 概述 内存中OLTP(项目"Hekaton")是一个全新的.完全集成到SQL Server的数据库引擎组件. 对OLTP工作负载访问中在内存中的数据进行了优化.内存中OLTP能够帮助OLTP工作负载实现显著的性能改善,并减少处理时间.表能被视为"内存优化",提升内存中的OLTP功能.内存优化表是完全可事务的.并可以使用Transact-SQL进行访问.Transact-SQL

SQL Server2016 新功能实时查询统计信息

SQL Server2016 新功能实时查询统计信息 很多时候有这样的场景,开发抱怨DBA没有调优好数据库,DBA抱怨开发写的程序代码差,因此,DBA和开发都成为了死对头,无法真正排查问题. DBA只能使用Windows性能监视器,SQL Server内置的活动监视器.SQL Trace.SQL Profiler.Performance Dashboard等工具,或者使用执行计划来查看查询成本. 为了让DBA有更多有效工具排查问题,SQL Server2016推出了很多新功能,其中一项功能是 L

TOM邮箱新功能即将上线啦!

TOM邮箱改变邮你所见 历时1个多月的内测,TOM企业邮箱管理后台全面升级.随心邮多媒体语音及视频邮件即将上线.下面就让我为大家逐一介绍.[01]企业邮箱新版后台即将上线华丽蜕变,尽享愉悦之美完美交互,功能×××极简办公体验,懂你所想秉承TOM邮箱清新简洁的设计风格 [02]随心邮多媒体语音邮件即将上线以前我们用文字传达情谊总是纸短情长而现在,因为语音邮件就算世界之大,也不过分秒之间 [03]随心邮多媒体视频邮件即将上线从前我们寄明信片和朋友分享沿途美景而现在,我们用视频邮件记录生活,储存影音,

OpenStack Q版本新功能以及各核心组件功能对比

OpenStack Q版本已经发布了一段时间了.今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N.O.P.Q各版本核心组件的主要新功能.仅供参考, 如有遗漏.错误请指正. 1.1         Q版新功能总结 Q版相对于P版, 主要还是各功能的增强和优化, 其中主要功能有: 计算组件中的vGPU支持.冷迁移至指定主机.PCI NUMA亲和性.卷共享等,镜像组件中的web方式导入镜像, 网络组件中的浮动IP QoS.DVR/