首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大量TIME_WAIT请求-这会导致node.js服务器出现并发问题吗?

问大量TIME_WAIT请求-这会导致node.js服务器出现并发问题吗?
EN

Stack Overflow用户
提问于 2013-11-02 14:19:41
回答 2查看 2.1K关注 0票数 2

当我在nginx -> node.js服务器上运行apachebench时,我注意到在设置了一定数量的并发请求后,一些请求没有完成。ss -s输出结果如下:

代码语言:javascript
复制
TCP:   26006 (estab 660, closed 25296, orphaned 38, synrecv 0, timewait 25295/0), ports 0

看起来大多数连接已经关闭,正在等待。我想这会在很重的负载下工作得很好。

有没有可能更快地“回收”这些连接?它们似乎持续了相当长的时间(10秒左右?)

EN

回答 2

Stack Overflow用户

发布于 2013-11-03 06:49:49

它们实际上持续了两分钟。它们不是“请求”,而是连接,它们都已关闭。

您应该确保设置了合理的HTTP保持连接间隔,以便对等项可以对多个HTTP请求重复使用TCP连接器。

TIME-WAIT状态是TCP安全的重要组成部分,不应受到干扰。

票数 0
EN

Stack Overflow用户

发布于 2013-11-04 17:19:42

This可能有助于解释为什么TIME_WAIT存在,以及这些连接是如何在TIME_WAIT中结束的。

我很想知道您是否在一台机器上运行测试,如果是的话,可能是客户端或服务器端离开了TIME_WAIT中的套接字。如果它是测试的客户端,那么你就不需要那么担心了。如果您在一台机器上运行测试,则将其拆分,这样您就可以拥有自己的服务器,这样您就可以看到是什么在生成TIME_WAITs。

如果TIME_WAITS是由服务器生成的,那么您需要弄清楚为什么要在服务器上启动活动关闭,并查看将活动关闭移到客户端是否可行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19739501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档