Data Cache 常见问题解答
本主题描述了一些关于 Data Cache 的常见问题 (FAQ) ,并提供了这些问题的故障排除步骤和解决方案。
启用 Data Cache
如何确认 Data Cache 是否成功启用?
在大多数情况下,您可以通过以下任一方法检查 Data Cache 是否成功启用:
- 从您 的 SQL 客户端执行
SHOW BACKENDS(或SHOW COMPUTE NODES),并检查DataCacheMetrics的值。如果磁盘或内存缓存配额大于 0,则可以确认 Data Cache 已启用。
mysql> show backends \G
*************************** 1. row ***************************
BackendId: 89041
IP: X.X.X.X
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2025-05-29 14:45:37
LastHeartbeat: 2025-05-29 19:20:32
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 10
DataUsedCapacity: 0.000 B
AvailCapacity: 1.438 TB
TotalCapacity: 1.718 TB
UsedPct: 16.27 %
MaxDiskUsedPct: 16.27 %
ErrMsg:
Version: main-c15b412
Status: {"lastSuccessReportTabletsTime":"2025-05-29 19:20:30"}
DataTotalCapacity: 1.438 TB
DataUsedPct: 0.00 %
CpuCores: 8
MemLimit: 50.559GB
NumRunningQueries: 0
MemUsedPct: 0.50 %
CpuUsedPct: 0.2 %
DataCacheMetrics: Status: Normal, DiskUsage: 44MB/1TB, MemUsage: 0B/0B
Location:
StatusCode: OK
1 row in set (0.00 sec)
在上述示例中,Data Cache 的磁盘缓存配额为 1TB,当前使用了 44MB;而内存缓存配额为 0B,因此内存缓存未启用。
- 您可以访问 BE Web 控制台 (
http://${BE_HOST}:${BE_HTTP_PORT}/api/datacache/stat) 来检查当前的 Data Cache 配额、命中率和其他指标。如果disk_quota_bytes或mem_quota_bytes大于 0,则可以确认 Data Cache 已启用。

为什么 Data Cache 在默认情况下未启用?
从 v3.3 开始,BE 会在启动时尝试启用 Data Cache。然而,如果当前磁盘上的可用空间不足,Data Cache 将不会自动启用。
这可能由以下情况导致:
-
百分比:当前磁盘使用率较高。
-
剩余空间:剩余磁盘空间较小。
因此,如果默认情况下未启用 Data Cache,您可以先检查当前磁盘使用情况,并在必要时增加磁盘容量。
或者,您可以根据当前可用磁盘空间手动配置缓存配额以启用 Data Cache。
# 禁用 Data Cache 自动调整
datacache_auto_adjust_enable = false
# 手动设置 Data Cache 磁盘配额
datacache_disk_size = 1T