Cron

Cron 作業與 NodeJS setInterval 以獲得最佳性能

  • June 5, 2017

我正在建構一個簡單的 nodejs 腳本,它根據我目前的 IP 更新 DNS 記錄。該腳本執行良好,但我對如何執行它有些擔心。必須每 5 分鐘檢查一次我的 IP,我正面臨兩難境地。

我應該使用 Node 的setInterval還是應該創建一個 cron 作業?哪個會消耗最少的 RAM 和 CPU?請記住,該腳本在具有 512MB 記憶體且只有 1 個核心的 Raspberry Pi Zero 上執行。

我知道這cron似乎是一個更好的選擇,但它有多好?考慮到我的規格,這有關係嗎?

cron 解決方案的優點

  • 在 90% 的時間內減少記憶體消耗
  • 有效消除記憶體洩漏
  • 程式碼每次都會重新載入所有庫,因此更新會在下次執行時生效,而不會增加複雜性

守護程序解決方案的優勢

  • 載入時間只發生一次,因此後續執行的磁碟 I/O 和 CPU 較低,因為您不會解析原始碼或提取所有庫
  • 用於後續執行的較低 CPU 和磁碟 I/O 也意味著有更多這些資源可用於您的 Raspberry 主應用程序可能是什麼。
  • Linux 應該換掉你不使用的記憶體。不過,這可能會很慢,具體取決於您的儲存。

結論

我同意 Alexander T 的觀點,這cron似乎可能會更好,但如果您的主應用程序對後台程序很敏感,那麼使用守護程序可能會更好。

引用自:https://serverfault.com/questions/853930