5.1 自动形状预测

为 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:关于加大、缩小或保持当前形状的建议,或有关无法对该间隔进行预测的原因的信息。

要使用自动形状预测,请按照下列步骤操作:

  1. mysql在 SQL 模式下 使用 MySQL 客户端 ( ) 或 MySQL Shell 连接到 HeatWave 集群的数据库系统。有关作为客户端连接到 AWS 上的 MySQL HeatWave 的说明,请参阅从客户端连接

  2. 当典型的工作负载正在运行时,通过使用客户端发出以下语句来启用自动形状预测:

    CALL mysql_autopilot.shape_prediction(JSON_OBJECT(“enable”, TRUE));
  3. 等待至少五分钟,以便尝试进行第一个预测,然后您可以通过从 SQL 客户端发出以下语句来开始检查结果:

    SELECT * FROM mysql_autopilot.shape_predictions;

    每五分钟尝试一次新的预测。当您的典型工作负载仍在运行时,每隔一段时间重新发出该语句,直到您看到预测已经稳定。

  4. 当预测稳定并且您记下了建议的缓冲池大小 ( 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.

  5. 如果建议扩大或缩小规模,请根据此形状列表检查建议的缓冲池大小,以查看哪种数据库系统形状适合您当前的工作负载。如果没有 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
  6. To move to a different DB system shape, follow the steps in Creating a DB System.