n8n 跑久了會變慢:執行紀錄膨脹與清理
n8n 用了幾個月之後編輯器開始卡、執行清單載入很久,多半不是資源不夠,是執行紀錄堆太多。這篇說明它為什麼會膨脹,以及該保留多久。
🚀 想直接開始?60 秒部署你的 n8n
工作流程自動化平台。月付 NT$499 起,
n8n 剛裝好的時候很快。跑了兩三個月之後,你會發現編輯器開始卡、執行清單要載很久、有時候儲存流程要等一下。
直覺反應是資源不夠,該升級了。多數情況下不是。
它把每一次執行都存下來了
n8n 預設會記錄每一次執行的完整過程——不只是成功或失敗,而是每個節點的輸入與輸出資料。
這個設計在開發時非常好用。流程出錯,你可以點進那一次執行,看到每一步拿到什麼、吐出什麼,問題一目瞭然。
但它的成本是:一條每五分鐘跑一次的流程,一天 288 次,一個月 8,640 次。如果每次處理的資料有幾十 KB,一個月就是幾百 MB——而這只是一條流程。
什麼樣的流程膨脹最快
| 特徵 | 為什麼 |
|---|---|
| 觸發頻率高 | 筆數直接乘上去 |
| 每次處理的資料量大 | 抓回一整個 API 回應、讀整張試算表 |
| 節點多 | 每個節點的輸入輸出都各存一份 |
| 有附件或圖片經過 | 二進位資料特別佔空間 |
第三項最容易被低估。一條有十五個節點的流程,單次執行存下來的資料量是三節點流程的好幾倍——而且中間節點的資料常常是重複的。
該怎麼處理
一、設定保留期限
最直接的做法:讓 n8n 自動清掉超過一定天數的執行紀錄。
保留多久取決於你多久會回頭查。實務上七到十四天對多數人夠用——如果一條流程壞了兩週你都沒發現,那你需要的是失敗通知,不是更長的紀錄。
二、只保留失敗的紀錄
n8n 可以分別設定成功與失敗的保存策略。成功的執行你幾乎不會回去看,失敗的才有價值。
把成功的執行設成不保存或短期保存,膨脹速度會直接掉一個量級。這是投報率最高的一項調整。
三、減少不必要的資料流動
如果流程中間有一步撈回一大包資料、但後面只用到其中兩個欄位,在那一步之後加個節點只留需要的欄位。這樣不只省空間,執行也會變快。
清理之前先想一下
要提醒一件事:執行紀錄清掉就沒了。
如果你有流程是靠執行紀錄來對帳的——例如查「這筆訂單昨天到底有沒有送出去」——那清理之前要先把關鍵資訊寫到別的地方去。
比較穩的做法是不要依賴執行紀錄當資料來源。重要的結果應該主動寫進資料表,執行紀錄只當除錯工具。這樣清理就完全沒有心理負擔。
什麼情況下不用管
誠實講:如果你的流程是每天跑一兩次、資料量也小,那執行紀錄一年也長不到會影響效能的規模。這篇的內容你可以先放著。
會需要處理的訊號很具體——編輯器操作明顯變鈍、執行清單要等好幾秒、或儲存空間開始逼近方案上限。三個裡出現任何一個,先來看保留設定,不要急著升級方案。
方案是 1 vCPU/2 GB 儲存(NT$499/月)。2 GB 對流程本身綽綽有餘,會撐爆它的幾乎都是執行紀錄。