问题标签 [time-wait]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2106 浏览

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

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

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

是否可以更快地“回收”这些连接?它们似乎会持续很长时间(10 秒左右?)

0 投票
1 回答
2528 浏览

tcp - TIME_WAIT 状态下与 memcached 的连接过多

我在连接到 memcached 时遇到问题。我假设在繁忙时间没有免费的本地港口。

网络统计-n | grep "127.0.0.1" | grep TIME_WAIT | 厕所

此命令给我 36-50k 连接,可能在繁忙时间更多

如何扩展端口范围或有其他方法来解决它?

0 投票
1 回答
2215 浏览

apache - 提供页面后,HTTP 套接字连接保持在 TIME_WAIT 中

我在 Red Hat Linux 6 上的 Apache 2.2.3 服务器上看到很多持久的 TIME_WAIT 连接到端口 80。我确认即使在页面加载后,连接仍然保持这种状态超过 10 秒,有时很多比这更长。为什么会这样?我没有在 Apache 中配置任何特殊的东西,服务器上没有启用缓存,前面也没有代理。AJP_Proxy 用于通过模块将 Tomcat 代理到端口 80。

0 投票
1 回答
1409 浏览

c# - HttpListener 在 TIME_WAIT 中留下连接

我有一个简单的 C# Windows 服务,它应该对端口 8080 上的 GET 请求响应“OK”。一切正常,只有一个简单的痒......

对服务发出的每个请求都停留在 TIME_WAIT 中。我是否遗漏了什么,我环顾四周,我在 HTTPListeners 和 Windows 服务上看到的大多数示例都以类似的方式进行操作?!

编辑:修复了 _listener 的本地声明。

0 投票
1 回答
2443 浏览

tcp - 大量的 TIME_WAIT 会导致服务器宕机吗?

我已阅读相关问题:

TIME_WAIT服务器端的许多成本是多少?

但我还是迷路了。我们有两个应用服务器和一个数据库服务器(都是云服务提供的虚拟机)。今天数据库服务器完全关闭,没有任何警告。我们设法让云服务供应商将其在线备份,然后我们再次将我们的应用程序恢复到工作状态。

当被问及原因时,云服务供应商返回了一堆 TCP 统计数据(大约 1500 行),看起来像这样(为保护隐私而屏蔽):

供应商声称服务器出现问题并由于传入连接过多而自行关闭,大量连接就证明了这一点TIME_WAIT

但是,没有迹象表明收集统计数据的时间范围。如果它们是在很长的时间范围内收集的,则不能使用统计数据来声称存在大量此类连接。

这样的声明只能对在特定时间点(不是时间范围)完成的快照统计有效,其中很明显大量连接在TIME_WAIT给定时间点处于状态。我对吗?

即使我们承认在快照时间点确实存在大量TIME_WAIT连接的可能性,这是否会对服务器造成损害,是否会使服务器陷入停顿?这就是拒绝服务攻击的发生方式吗?

0 投票
1 回答
66 浏览

java - 给定超时时等待无限时间

我有一个测试代码wait(timeout)

但是,这似乎无法正常工作,理想情况下它应该等待random方法给出的特定时间并打印它。但是每次打印几个值(随机次数)后它都会停止。

无法确定问题所在。

0 投票
2 回答
14190 浏览

c# - winsock资源不足

我们有 ac# Web 服务和客户端,它们都是在 Visual Studio 2008 中创建的(新项目 -> ASP.Net Web 服务应用程序)。服务托管在 Windows server 2012 R2、IIS 8.5 上。

当客户端将数据发送到我们的服务时,我们将其转发给第 3 方服务,将结果保存到数据库并返回给客户端。

问题是,在极少数情况下,当我们的服务负载过重(每秒有很多请求)时,它会开始抛出“Insufficient winsock resources available to complete socket connectioninitiation”。

我们发现我们的 Web 服务正在打开许多到 3rd 方服务的 TCP 连接,并使它们处于 TIME_WAIT 状态。当此类连接的数量达到很高的数量(大约 17000)时,整个服务器将失去建立任何新连接的能力。从远程桌面到互联网浏览器的一切都停止工作。这会持续几分钟,然后,当 Windows 开始关闭这些连接时,它会正常恢复。

对于与第 3 方服务的通信,我们的服务在其整个生命周期中仅使用一个 SoapClient 实例。它是在初始化时创建的,永远不会关闭或销毁;永远不会创建新实例。

将数据发送到 3rd 方服务时,我们只需调用它的 web 方法,并保持原样,无需关闭、处置或进行任何清理:

我们可以做些什么来避免这种 time_wait 连接的建立?

有没有更好的方法来管理 SoapClient(s)?我们应该为每个请求打开一个新的soap客户端并手动关闭它们吗?

如果它是相关的,这里是我们的绑定是如何设置的:

谢谢!

0 投票
1 回答
61 浏览

java - 立即执行 Swing 操作

我在 Swing 中有一个方法可以隐藏和显示一些按钮,称为setScreen(int stage),它将根据stage参数隐藏或不隐藏某些按钮。我想调用该方法,然后等待几秒钟,然后再次调用它,就像在这段代码中一样:

的代码setScreen(int stage)是这样的:

其中 screen 是扩展 JFrame 的类的实例化。

这里的问题是第一个setScreen(stage)永远不会显示,因为线程在提交更改之前进入睡眠状态。我曾尝试将 sleep 替换为 while 循环检查系统的时间,但效果是一样的。

**编辑:** 我在推荐的 StackOverflow 线程中发现了一些可能有用的 Swing Timer 信息。我将使用它并上传我所做的任何有用的进步。

0 投票
2 回答
845 浏览

c# - 如何在 C# 中执行两条语句之间插入 2 秒的时间间隔?

我正在使用 Unity 构建一个简单的 2D 游戏。在我的 C# 脚本中,我想在两个连续语句之间插入 2 秒的间隙。

这意味着我希望创建和显示一个按钮,然后等待 2 秒钟,然后再创建下一个按钮并显示在屏幕上。有什么简单的方法可以做到这一点??

0 投票
3 回答
2764 浏览

c# - C# Webdriver 代码等待

我整天都在努力:

  1. 在 webdriver 中的两个操作之间等待 10 秒

  2. 等待足够长的时间以显示元素(id 元素)(因为在 Internet Explorer 中出现错误“无法找到带有 id == signin-email 的元素”,我尝试

但是在 C# 中(不是在 java 中)我只找到了这段代码:

我没有收到错误,但它不会等待任何秒。我能找到的所有代码都适用于 java 不适用于 C#。