2011-05-16 95 views
0

我最近做了一個從0.2.6升級到0.4.7的老化應用程序。升級過程非常順利,大部分問題似乎與圖書館有關。我正在使用快遞服務器休息API調用。Node.js從0.2.6升級到0.4.7的超時問題?

當應用程序啓動時,會發生很多預取。有一些非常慢的電話會被啓動。在節點0.2.6上,這些調用將在15-30秒內返回任何地方。升級後,一分鐘(!)之後的呼叫會在超出我們在其他地方設置的超時限制之後返回,因此應用會中斷。

node.js中是否有任何更改會導致此問題?也許關於最大同時連接的一些東西請求和表達的最新版本呢?

+1

哪些特定操作需要四倍的時間? – sarnold 2011-05-16 22:50:53

+1

請張貼一些示例代碼。 – 2011-05-17 00:07:34

回答

0

節點0.4引入了節流。請求尊重http.Agent.maxSockets的默認值,即5。當我強制將其設置爲100時,頁面會再次停止超時。我想通了這一點通過讀取請求docmentation:

由於節點0.4.0有一個內部 池機制的 共享連接的首選方法是使用代理 這要求簡化了它的新 池API。

以及與選項對象:

  • pool - 包含這些請求代理的哈希對象。如果省略了 ,則此請求將使用設置爲節點的默認maxSockets的節點 的全局池 。
  • pool.maxSockets - 包含池中最大數量的 套接字的整數。