故障排查 / 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 存儲壓力