我已经设置了一个节点网络服务器,它在每个传入请求(通过 http.get)时查询多个网络服务。当请求返回时,Web 服务器会将聚合的内容返回给用户(由 协调async
)。
目前,我正在对位于同一台机器上的 8 个不同的 web 服务进行大约 10 个并发请求。(这是一个测试设置)
从浏览器触发设置时一切正常,但是当我在短时间内ab
给系统()施加一点负载时,我不断收到错误。ab -n 1500 -c 42 127.0.0.1:31330/
ENOBUFS
关于这个问题,我在互联网上发现的很少。这是否与我的操作系统的连接池简单地过载并因此无法执行更多请求以及接受任何新连接这一事实有关?或者它只是一个不会出现在任何其他类似unix的系统上的windows问题?(我使用的是 Win 7 x64)如果它与连接有关,那么无论使用什么技术(node.js、python、php 等),任何操作系统上都存在这个问题吗?
更新: 似乎确实某种连接池正在填满,当我从节点收到该错误时,同时访问任何其他网页不再可能了。
这里有什么可以做的吗?