故障排查 / MySQL 存储数据量过大
在重度使用 DataFlux Func 一段时间后,可能会发生 MySQL 存储空间过大的情况。
1. 原因
默认情况下,DataFlux 会在 MySQL 中保存每次函数任务的执行记录(包括所有 print(...)
日志),保存策略如下:
函数任务来源 | 保存函数任务记录数 |
---|---|
授权链接 | 每个授权链接最后 100 次任务 |
自动触发配置 | 每个自动触发配置最后 500 次任务 |
批处理 | 每个批处理最后 100 次任务 |
连接器订阅消息处理 | 每个连接器最后 1,000 次任务 |
每次函数任务记录会进行相应缩减,限制策略如下:
限制 | |
---|---|
每次 print(...) 日志长度 |
3,000 个字符 |
每次函数任务记录日志总长度 | 50,000 个字符,保留: 开头 20,000 个字符 末尾 30,000 个字符 |
由于系统需要为每个任务来源都保留一定数量的最后任务记录,因此,当配置的授权链接、自动触发配置等数量较多时,可能会占据大量的 MySQL 存储空间。
2. 解决方案
关闭本地函数任务记录可以极大地减少 MySQL 存储空间压力
可以参考 部署和维护 / 系统指标和任务记录 / 关闭本地函数任务记录 关闭「本地函数任务记录」,减轻 MySQL 存储压力