问题标签 [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.
node.js - TIME_WAIT 的大量请求 - 这会导致 node.js 服务器的并发问题吗?
当我在 nginx -> node.js 服务器上运行 apachebench 时,我注意到在设置了一定数量的并发请求后,一些请求没有被跟踪完成。输出结果ss -s
如下:
看起来大多数连接已关闭并正在等待。我想这在重负载下会很好地工作。
是否可以更快地“回收”这些连接?它们似乎会持续很长时间(10 秒左右?)
tcp - TIME_WAIT 状态下与 memcached 的连接过多
我在连接到 memcached 时遇到问题。我假设在繁忙时间没有免费的本地港口。
网络统计-n | grep "127.0.0.1" | grep TIME_WAIT | 厕所
此命令给我 36-50k 连接,可能在繁忙时间更多
如何扩展端口范围或有其他方法来解决它?
apache - 提供页面后,HTTP 套接字连接保持在 TIME_WAIT 中
我在 Red Hat Linux 6 上的 Apache 2.2.3 服务器上看到很多持久的 TIME_WAIT 连接到端口 80。我确认即使在页面加载后,连接仍然保持这种状态超过 10 秒,有时很多比这更长。为什么会这样?我没有在 Apache 中配置任何特殊的东西,服务器上没有启用缓存,前面也没有代理。AJP_Proxy 用于通过模块将 Tomcat 代理到端口 80。
c# - HttpListener 在 TIME_WAIT 中留下连接
我有一个简单的 C# Windows 服务,它应该对端口 8080 上的 GET 请求响应“OK”。一切正常,只有一个简单的痒......
对服务发出的每个请求都停留在 TIME_WAIT 中。我是否遗漏了什么,我环顾四周,我在 HTTPListeners 和 Windows 服务上看到的大多数示例都以类似的方式进行操作?!
编辑:修复了 _listener 的本地声明。
tcp - 大量的 TIME_WAIT 会导致服务器宕机吗?
我已阅读相关问题:
但我还是迷路了。我们有两个应用服务器和一个数据库服务器(都是云服务提供的虚拟机)。今天数据库服务器完全关闭,没有任何警告。我们设法让云服务供应商将其在线备份,然后我们再次将我们的应用程序恢复到工作状态。
当被问及原因时,云服务供应商返回了一堆 TCP 统计数据(大约 1500 行),看起来像这样(为保护隐私而屏蔽):
供应商声称服务器出现问题并由于传入连接过多而自行关闭,大量连接就证明了这一点TIME_WAIT
。
但是,没有迹象表明收集统计数据的时间范围。如果它们是在很长的时间范围内收集的,则不能使用统计数据来声称存在大量此类连接。
这样的声明只能对在特定时间点(不是时间范围)完成的快照统计有效,其中很明显大量连接在TIME_WAIT
给定时间点处于状态。我对吗?
即使我们承认在快照时间点确实存在大量TIME_WAIT
连接的可能性,这是否会对服务器造成损害,是否会使服务器陷入停顿?这就是拒绝服务攻击的发生方式吗?
java - 给定超时时等待无限时间
我有一个测试代码wait(timeout)
。
但是,这似乎无法正常工作,理想情况下它应该等待random
方法给出的特定时间并打印它。但是每次打印几个值(随机次数)后它都会停止。
无法确定问题所在。
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客户端并手动关闭它们吗?
如果它是相关的,这里是我们的绑定是如何设置的:
谢谢!
java - 立即执行 Swing 操作
我在 Swing 中有一个方法可以隐藏和显示一些按钮,称为setScreen(int stage)
,它将根据stage
参数隐藏或不隐藏某些按钮。我想调用该方法,然后等待几秒钟,然后再次调用它,就像在这段代码中一样:
的代码setScreen(int stage)
是这样的:
其中 screen 是扩展 JFrame 的类的实例化。
这里的问题是第一个setScreen(stage)
永远不会显示,因为线程在提交更改之前进入睡眠状态。我曾尝试将 sleep 替换为 while 循环检查系统的时间,但效果是一样的。
**编辑:** 我在推荐的 StackOverflow 线程中发现了一些可能有用的 Swing Timer 信息。我将使用它并上传我所做的任何有用的进步。
c# - 如何在 C# 中执行两条语句之间插入 2 秒的时间间隔?
我正在使用 Unity 构建一个简单的 2D 游戏。在我的 C# 脚本中,我想在两个连续语句之间插入 2 秒的间隙。
这意味着我希望创建和显示一个按钮,然后等待 2 秒钟,然后再创建下一个按钮并显示在屏幕上。有什么简单的方法可以做到这一点??
c# - C# Webdriver 代码等待
我整天都在努力:
在 webdriver 中的两个操作之间等待 10 秒
等待足够长的时间以显示元素(id 元素)(因为在 Internet Explorer 中出现错误“无法找到带有 id == signin-email 的元素”,我尝试
但是在 C# 中(不是在 java 中)我只找到了这段代码:
我没有收到错误,但它不会等待任何秒。我能找到的所有代码都适用于 java 不适用于 C#。
请