管理缓存预热
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。
查看任务
- 登录 SelectDB Cloud 控制台,选择目标仓库。
- 在左侧导航栏单击 缓存预热。
- 按任务 ID 搜索,或按类型、同步方式、状态筛选。
- 单击任务 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
- WARM UP:创建预热任务。
- SHOW WARM UP JOB:查看任务状态。
- CANCEL WARM UP:取消任务。
- SHOW CACHE HOTSPOT:查看缓存热点数据。