使用DAS实现数据库自动SQL限流

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 本场景主要介绍如何使用DAS提供SQL限流功能,通过自动SQL限流来控制数据库请求访问量和SQL并发量,保障服务的可用性。

使用DAS实现数据库自动SQL限流


1. 购买DAS专业版并新增实例

登录DAS专业版购买页面,根据界面提示选择对应参数,购买DAS专业版服务。

DAS控制台DAS专业版管理页面,单击页面右上角新增实例。

在选择实例的搜索框里输入需要使用DAS专业版管理的PolarDB实例ID,勾选已查询出来的实例,添加至右侧区域。

说明:DAS专业版会自动打开PolarDB的SQL洞察,DAS将赠送给您5GB SQL洞察存储空间,超出部分按照0.008元/GB/小时收费,日志至少保存30天。

单击确定后页面会提示新增成功,可到已使用实例列表页面查看。

2. 开启DAS自治服务

登录PolarDB MySQL控制台,单击集群列表,选择已创建的集群ID,进入集群详情页。

在左侧导航栏选择一键诊断,自治中心页签下,单击右侧自治功能开关进入设置页面

开启自治服务。

单击确定

3. 构造测试数据

在PolarDB MySQL中创建表,并导入测试数据。

登录PolarDB MySQL控制台,单击实例ID,进入实例详情后,单击数据库管理 > 创建数据库,完成数据库的创建。

本案例中数据库的名称定为das_test

通过DMS登录数据库:在PolarDB MySQL控制台,进入实例详情页,单击SQL查询,跳转DMS控制台后输入账号和密码。

说明:首次使用DMS连接PolarDB MySQL实例时,系统会提示您授权白名单,单击确认后即可完成授权。


成功登录后,直接打开数据库的SQL Console面板,输入以下语句,创建PolarDB MySQL表。

1)执行如下语句创建一张students表。


         

2)如下两条INSERT INTO语句各执行一次,写入两条数据。


         

3)重复执行如下语句建议执行20次以上,生成200万行数据。


         


4. 模拟压测

本步骤需要在ECS控制台中,登录ECS实例部署压测程序,并使用该程序模拟流量注入。

登录下载地址,下载压测程序。

开通ECS服务器,本案例要求配置如下:

地域与可用区:与已创建的polarDB Mysql实例一致。

实例规格:建议选择计算型、4vCPU 8GiB以上规格。

镜像:CentOS 7.8 64位。

系统盘 :选择 ESSD云盘 40GB。

公网IP:勾选分配公网IPV4地址。

带宽计费模式:选择按使用流量。

带宽峰值:设置为10Mbps。

其余配置不做要求,选择默认即可。

PolarDB MySQL控制台的集群详情中,将ECS的IP地址添加至PolarDB MySQL的白名单中。

登录ECS。

1)登录ECS控制台,选择实例,点击开通的实例ID名称。

2)单击远程连接。

3)可选择Workbench远程连接方式,单击立即登录。

执行如下命令创建目录。

mkdir -p /user/local/src

将下载的das-testbed-simple.zip压缩包上传至ECS 实例的 /usr/local/src目录下。

说明:

Windows系统下载使用MobaXterm工具登录ECS地址上传。

Macos系统使用终端上传。

在src目录下执行如下命令解压das-testbed-simple.zip 。

unzip das-testbed-simple.zip

编辑 config/data-source.properties,复制 PolarDB的集群地址 替换该文件里的占位符,并设置账户和密码。

1)在PolarDB集群的基本信息页面,获取集群地址 。

2)修改配置文件config/data-source.properties

vi data-source.properties

说明:标红位置参数按照实际环境配置。

jdbc.url:

*********.rwlb.rds.aliyuncs.com:PolarDB MySQL集群的链接地址。

das_test:数据库名称。

jdbc.username:账户名。

jdbc.password:账户密码。


修改 das-testbed-simple/config/test-scenario-config.json 的内容如下:

{
  'variables': [
    {
     'name': 'names', 
     'expression': 'query(dataSource, 'SELECT name FROM students LIMIT 10000')' 
    } 
 ], 
  'queries': [ 
      'update students set extra_info = UUID() where name = '${random(names).name}''
 ], 
    'queryConfig': { 
        'threadCount': 20, 
         'durationTimeInMinute': 20
     }
  }

说明:该配置测试程序以 20个线程并发执行 update 语句20分钟,把 PolarDB主库的 CPU持续打高。

通过 yum命令在 ECS上安装 java。

yum install java-1.8.0-openjdk* -y

在终端窗口运行以下命令,对PolarDB进行高并发压测。

[root@iZwz******* das-testbed-simple]# java -jar das-testbed-simple.jar


5. 查看自动SQL限流结果

登录PolarDB MySQL控制台

在左侧菜单单击一键诊断。

自治中心页签下查看异常事件。

单击异常检测事件详情

单击根因分析和建议

可以看到UPDATE以并发度2被限流10分钟。


实验链接:https://developer.aliyun.com/adc/scenario/83c2eccd4e6149e3ac2e2fcdc1f5ab95


相关实践学习
使用DAS实现数据库自动扩容和回缩
暂无
相关文章
|
10天前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
64 9
|
28天前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
91 6
|
1月前
|
SQL 机器学习/深度学习 运维
SQL优化有绝招,使用DAS提升工作效率!完成任务可领取保暖手套!
数据库自治服务(Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务。数据库自治服务DAS支持自动SQL优化,相比传统的优化方式,能够自动识别问题SQL,生成索引优化建议。
|
2月前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
95 11
|
2月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
2月前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
3月前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
9月前
|
运维 安全 关系型数据库
参加数据库管理工具DAS训练营,赢取国潮保温杯和阿里云定制双肩包!
本训练营带您简单了解数据库自治与云安全服务,数据库自治服务提供云上RDS、PolarDB、NoSQL、ADB等数据库7*24小时异常检测、SQL自优化、安全合规审计、弹性伸缩、数据自治、锁分析等亮点功能。一站式自动化、数字化DAS集成平台,助力您畅享DBA运维智能化。
|
3月前
|
SQL 关系型数据库 MySQL
体验使用DAS实现数据库SQL优化,完成任务可得羊羔绒加厚坐垫!
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。
269 18
|
8月前
|
机器学习/深度学习 人工智能 运维
阿里云DAS-您的专属AI专家,引领数据库自治驾驶
阿里云数据库自治服务(DAS)可以被誉为“您的专属AI专家”,它确实在引领数据库进入自治驾驶的时代。 DAS的核心优势在于其结合了多年大规模数据库集群运维调优的专家经验与机器学习等智能化技术。这

热门文章

最新文章