为 AWS 上的 MySQL HeatWave 激活 MySQL Autopilot 的自动形状预测功能,以分析您的工作负载并评估您当前形状的适用性。
当您启用自动形状预测时,该功能开始收集反映您当前工作负载的 MySQL 统计信息。统计信息以不同的时间间隔收集,自动形状预测在其处于活动状态时每五分钟创建一次预测。如果在五分钟的时间间隔内没有足够的活动或没有活动,或者如果缓冲池使用量增加,则自动形状预测无法对该时间间隔进行预测。在再次禁用自动形状预测之前让预测变得稳定。
Auto Shape Prediction 查看缓冲池使用情况、工作负载活动和访问模式,并根据这些因素提出建议。选择适合您推荐的缓冲池大小的形状。如果缓冲池太小,虽然 MySQL 通常能够稳定地运行工作负载,但 DB System 的性能会因磁盘 I/O 过多而受到影响。如果建议可能缩小尺寸,请在选择缩小尺寸之前考虑您的数据库系统的 CPU 使用率以及内存使用率。如果 CPU 使用率很高,则不建议缩小到 CPU 较少的形状。
当自动形状预测运行时,预测记录在模式的shape_predictions
表中
mysql_autopilot
。这是一个始终存在的系统模式,即使您没有激活自动形状预测也是如此。该模式还包含用于计算预测的统计数据表。如果让自动形状预测保持运行状态,该
shape_predictions
表最多保留 7 天多一点的历史记录。禁用自动形状预测时会清除内部统计表,但会保留预测。当您的数据库系统升级时,
mysql_autopilot
架构将被删除并重新安装,从而删除先前版本的预测。
此示例显示了
shape_predictions
表的输出以及在一小时内所做的预测:
SELECT * FROM mysql_autopilot.shape_predictions;
+---------------------+-----------------+-----------------------------+-----------------------------------+
| prediction_time | current_bp_size | hit_rate | prediction_value | outcome |
+---------------------+-----------------+-----------------------------+-----------------------------------+
| 2022-10-28 09:46:48 | 5 | NULL | 0 | NOT ENOUGH FEATURE DATA SNAPSHOTS |
| 2022-10-28 09:51:48 | 5 | 0.866 | 4.97363 | FEATURE DATA ARE NOT STABLE |
| 2022-10-28 09:56:48 | 5 | 0.8665 | 4.97778 | FEATURE DATA ARE NOT STABLE |
| 2022-10-28 10:01:48 | 5 | 0.866 | 25.08 | UPSIZE |
| 2022-10-28 10:06:48 | 5 | 0.86425 | 25.63 | UPSIZE |
| 2022-10-28 10:11:48 | 5 | 0.8675 | 26.1 | UPSIZE |
| 2022-10-28 10:16:48 | 5 | 0.8675 | 26.52 | UPSIZE |
| 2022-10-28 10:21:48 | 5 | 0.86625 | 27.24 | UPSIZE |
| 2022-10-28 10:26:48 | 5 | 0.86525 | 27.42 | UPSIZE |
| 2022-10-28 10:31:48 | 5 | 0.866 | 27.83 | UPSIZE |
| 2022-10-28 10:36:48 | 5 | 0.866 | 28.18 | UPSIZE |
+---------------------+-----------------+----------+------------------+-----------------------------------+
该shape_predictions
表有以下列:
prediction_time
:此预测的时间戳。每五分钟尝试一次预测。current_bp_size
:当前缓冲池大小(以 GB 为单位)。hit_rate
:当前缓冲池命中率。prediction_value
:预测缓冲池大小以获得此工作负载的最佳性能。outcome
:关于加大、缩小或保持当前形状的建议,或有关无法对该间隔进行预测的原因的信息。
要使用自动形状预测,请按照下列步骤操作:
mysql
在 SQL 模式下 使用 MySQL 客户端 ( ) 或 MySQL Shell 连接到 HeatWave 集群的数据库系统。有关作为客户端连接到 AWS 上的 MySQL HeatWave 的说明,请参阅从客户端连接。-
当典型的工作负载正在运行时,通过使用客户端发出以下语句来启用自动形状预测:
CALL mysql_autopilot.shape_prediction(JSON_OBJECT(“enable”, TRUE));
-
等待至少五分钟,以便尝试进行第一个预测,然后您可以通过从 SQL 客户端发出以下语句来开始检查结果:
SELECT * FROM mysql_autopilot.shape_predictions;
每五分钟尝试一次新的预测。当您的典型工作负载仍在运行时,每隔一段时间重新发出该语句,直到您看到预测已经稳定。
-
当预测稳定并且您记下了建议的缓冲池大小 (
prediction_value
) 时,通过发出以下语句禁用自动形状预测:CALL mysql_autopilot.shape_prediction(JSON_OBJECT(“enable”, FALSE));
笔记You can leave Auto Shape Prediction running, although be aware that this incurs a monitoring overhead from periodic statistics collection and prediction events. If you do leave Auto Shape Prediction running, the
shape_predictions
table keeps a rotating history for a bit over seven days. When your DB System is upgraded, Auto Shape Prediction is disabled, and you will need to enable it again. -
如果建议扩大或缩小规模,请根据此形状列表检查建议的缓冲池大小,以查看哪种数据库系统形状适合您当前的工作负载。如果没有 HeatWave 集群连接到数据库系统,可以设置更大的缓冲池大小。
如果建议可能缩小尺寸,请在选择缩小尺寸之前考虑您的数据库系统的 CPU 使用率以及内存使用率。如果 CPU 使用率很高,则不建议缩小到 CPU 较少的形状。
形状 规格 HeatWave Cluster 的缓冲池大小上限 没有 HeatWave Cluster 的缓冲池大小上限 MySQL.2.16GB 1 个 CPU,16 GB 内存 5GB 10GB MySQL.4.32GB 2 个 CPU,32 GB 内存 15GB 20GB MySQL.8.64GB 4 CPUs, 64 GB memory 43 GB 57 GB MySQL.32.256GB 16 CPUs, 256 GB memory 20 GB 230 GB To move to a different DB system shape, follow the steps in Creating a DB System.