2011-04-09 95 views
11

這裏是什麼是到目前爲止,我已經閱讀並糾正我,如果我錯了:的Node.js和V8垃圾收集

  1. 的Node.js是基於V8 JavaScript引擎。
  2. V8 JavaScript引擎實現停止這世界的垃圾收集

Which..causes的Node.js有時完全停止幾秒鐘到幾分鐘的時間來處理垃圾收集。

如果這是針對生產代碼運行的,那麼10,000個用戶需要幾秒鐘。

這是真的可以接受的生產環境?

回答

12

是否可以接受取決於您的應用程序和堆大小。 Big Gc大約是1.3MB每兆字節。因人而異。約一半的壓縮氣相色譜。 10個左右的GC大。 3個左右的大型氣相色譜儀正在緊縮。使用V8標誌--trace-gc來記錄GC。我們已經做了一些減少停頓的工作。沒有承諾,沒有時間表。請參閱V8回購中的branches/experimental/gc。

+13

這個答案沒有多少過時。增量GC已經降落,長時間停頓應該成爲過去。如果你仍然看到很大的GC暫停,那麼請提交bug並附上--trace-gc的輸出。當然,我們無法做出有關固定事物的承諾,但對於正常的工作負載,如果您使用--max-new-space-size = 1024,我們會預計暫停大約40-50ms的上限, -never-compact標誌。 – 2012-07-01 20:33:09