跳到主要内容
版本:26.x

管理缓存预热

SelectDB Cloud 集群将热数据保存在本地缓存,其余数据从远端存储读取。缓存预热任务提前加载数据,减少首次业务请求从远端读取数据的等待时间。

常见场景包括:新建或启动集群后准备生产流量、缩容后重新加载所需热数据,以及同步主备集群缓存以缩短接管时间。

缓存预热从内核版本 4.1.8 开始提供,控制台 缓存预热 入口仅对支持的内核版本显示。26.x 的具体可用能力以当前内核版本和页面为准。

创建预热任务​

通过 SQL 编辑器 或其他 SQL 客户端执行 WARM UP COMPUTE GROUP 创建任务。控制台用于查看和管理任务,不提供 SQL 创建操作的替代入口。SQL 中的 Compute Group 对应集群。

从另一个集群预热目标集群:

WARM UP COMPUTE GROUP <destination_cluster> WITH COMPUTE GROUP <source_cluster>;

按指定表和分区预热:

WARM UP COMPUTE GROUP <destination_cluster> WITH
TABLE <table_name>
AND TABLE <table_name> PARTITION <partition_name>;

用实际集群、表和分区名称替换占位符。语句返回任务 ID,可在控制台或 SQL 中跟踪。完整语法参见 WARM UP。

查看任务​

  1. 登录 SelectDB Cloud 控制台,选择目标仓库。
  2. 在左侧导航栏单击 缓存预热。
  3. 按任务 ID 搜索,或按类型、同步方式、状态筛选。
  4. 单击任务 ID 查看详情。
信息说明
状态PENDING(等待中)、RUNNING(运行中)、FINISHED(已完成)、CANCELLED(已取消)。
类型CLUSTER 表示按集群预热,TABLE 表示按表或分区预热。
已完成批次 / 总批次用于判断任务进度。
创建时间 / 完成时间任务创建及完成时间。
错误信息任务未正常完成时的原因。

也可使用 SHOW WARM UP JOB 查看任务。

取消任务​

在 缓存预热 页找到运行中的任务,通过 操作 列取消。状态由 RUNNING 变为 CANCELLED,已预热的数据仍保留在缓存中。

也可执行 SQL:

CANCEL WARM UP JOB WHERE id = <id>;

语法参见 CANCEL WARM UP。

配置预热告警​

按集群持续同步缓存时,可以根据以下指标识别目标集群缓存落后。相关指标从 4.x 的 4.1.8 和 26.x 的 26.0.5 开始提供。

指标单位含义
Warmup Job Trigger Gap毫秒两次预热触发的间隔;持续增长可能说明调度滞后。
Warmup Job Pending Size字节最近 5 分钟内源集群与目标集群的数据量差值;持续增长可能说明目标缓存同步滞后。

进入 缓存预热 的任务详情,使用创建告警入口。预热任务告警需要从对应任务详情创建,不能直接在告警中心切换到其他预热任务。完整告警操作参见告警中心。

相关 SQL​