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