トラブルシューティング / 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 のストレージ容量の圧迫を軽減できます。