【问题标题】:timeout issues on upgrade of node.js from 0.2.6 to 0.4.7?node.js 从 0.2.6 升级到 0.4.7 的超时问题?
【发布时间】:2011-08-26 19:46:31
【问题描述】:

我最近将一个老化的应用程序从 0.2.6 升级到 0.4.7。升级非常顺利,大部分问题似乎都与库有关。我正在使用 express 来提供 rest api 调用。

当应用启动时,会发生很多预取。有一些非常慢的电话会被启动。在节点 0.2.6 上,这些调用将在 15-30 秒内返回。升级后,调用会在一分钟后返回(!),远远超过我们在其他地方设置的超时限制,因此应用程序中断。

node.js 中是否有任何会导致此问题的更改?也许关于最大同时连接数?最新版本的 request 和 express 呢?

【问题讨论】:

  • 哪些具体操作要花四倍的时间?
  • 请发布一些示例代码。

标签: javascript node.js timeout upgrade


【解决方案1】:

Node 0.4 引入了节流。请求尊重 http.Agent.maxSockets 的默认值,即 5。当我将其强制设置为 100 时,页面再次停止超时。我通过阅读请求文档发现了这一点:

因为节点 0.4.0 有一个内部 池化机制的首选方式 共享连接正在使用代理 哪个请求简化了它是新的 池 API。

和选项对象:

  • pool - 包含这些请求的代理的哈希对象。如果 省略此请求将使用 设置为节点的全局池 默认 maxSockets。
  • pool.maxSockets - 包含最大数量的整数 池中的插座。

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2020-05-14
    相关资源
    最近更新 更多