数据库自治服务DAS(Database Autonomy Service)提供智能压测功能,帮助您验证您的实例规格是否需要扩容,以便有效地应对业务流量高峰。

适用场景

  • 为应对即将到来的短期业务高峰,验证当前数据库实例规格是否需要扩容。
  • 数据库结构变更后(尤其是索引变更后),验证在真实业务场景下的效果,降低变更上线后引发故障的风险。
  • 数据库发生故障后,无法在发生故障时定位到原因,可以通过智能压测功能,在克隆库上复现故障场景,定位故障原因。

功能架构

智能压测的功能架构如下图所示:s
  • 源数据库:将要进行大促、将要业务变更或者已经发生故障,需要进行流量捕获的数据库。
  • 目标数据库:源数据库的克隆数据库,和源数据库拥有同样的表结构和数据,将源数据库捕获的流量回放的数据库。

功能介绍

传统的压测方案大部分基于现有的压测工具(如sysbench、TPCC等),给定场景,改变数据写入和读取速度,观测压力变化对被测对象性能的影响;使用自动化方式替代需要手工重复的部分,例如自动化数据生成、自动测试、自动分析报告展示等。由于压测工具对应的SQL与真实业务差距大,所以压测结果无法准确反映出真实业务场景下实例的性能和稳定性变化。

DAS提供的智能压测,通过获取用户真实的业务流量,可以动态地复刻和放大生产系统的业务压力,结果更客观,更具有参考价值,可以直接帮助业务运维做决策。它的架构不是简单的压测客户端+压测对象,而是三点架构:生产数据库+压测客户端+压测对象,基于三点架构,对生产数据库的压力进行捕获,在压测对象上真实模拟某一个时间段的压力流量,并且压力支持倍速调节。

相比传统压测方案,DAS提供的智能压测具有以下优势:
  • 低负载捕获真实业务流量。
  • 支持写流量回放压测。
  • 保障事务的顺序不变。
  • 即开即用。

使用条件

  • 源数据库仅支持RDS MySQL高可用版或三节点企业版、PolarDB MySQL集群版或历史库、PolarDB-X 2.0。
  • 目标数据库实例为RDS MySQL、PolarDB MySQL、PolarDB-X 2.0。
  • 数据库实例已接入DAS,详情请参见接入阿里云数据库实例
  • 数据库实例需开启DAS专业版,详情请参见DAS专业版
  • 不支持政务云和金融云下的数据库实例。
说明 PolarDB-X 2.0目前仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)和新加坡地域。