time-wait

如何诊断大量 TIME_WAIT 连接
time-wait

如何诊断大量 TIME_WAIT 连接

我们的一台服务器存在生产问题,并且性能缓慢与处于该状态的套接字过多有关TIME_WAIT。我们不必对这个问题进行长篇大论,我们基本上知道每次服务器运行缓慢时,大约 80% 的服务器套接字都处于此TIME_WAIT状态,当然,我们可以通过运行 来查看netstat。具体来说,由于TIME_WAIT超时和消失,当我们的服务器运行缓慢时,我们会TIME_WAIT非常频繁地看到这些套接字出现(大约每 5-10 分钟一次)。 我做了一些调查,发现TIME_WAIT当服务器关闭活动连接但保留该连接以防任何延迟的数据包通过时,会发生这种情况。最终TIME_WAIT超时。...

Admin

如何减少 OpenBSD 上 TIME_WAIT 连接的超时时间?
time-wait

如何减少 OpenBSD 上 TIME_WAIT 连接的超时时间?

我正在 OpenBSD 5.2 上运行http_load,以测试我的设置有多好nginx,并且我注意到冷运行比热运行快得多,并且每次运行性能都会急剧下降(例如,从冷运行时每秒 3735 个回复,到后续运行中的 2288、1804、1553)。 我注意到netstat -n | wc -l运行后有几千个连接http_load,其中大多数都(state)在TIME_WAIT。 看起来好像set timeout tcp.finwait 8可以将pf.conf某些超时值从 45 秒减少到 8 秒,但是它似乎根本不会影响这些 TIME_WAIT 连接,这些连接ne...

Admin

如何阻止来自单个 IP 的大量“空”连接
time-wait

如何阻止来自单个 IP 的大量“空”连接

目前 netstat 列出了印度同一 IP 的 200 - 4000 个连接。我觉得这像是某种洪水攻击。 例如: tcp 0 0 [removed] 182.65.238.[removed].in-:mysql TIME_WAIT 我尝试使用此命令终止当前连接,但没有成功 iptables -t filter -I INPUT 1 -p tcp -m tcp -s 182.65.238.[] -j DROP tcpkill -i any -9 host 182.65.238.[removed] 我已将 IP 添加到 ufw,甚至...

Admin

为什么四次握手中有一次会与命令 nc 发生错误
time-wait

为什么四次握手中有一次会与命令 nc 发生错误

我正在使用该命令nc来模拟与客户端和服务器的 TCP 连接。 我在服务器上执行该命令nc -l 1234,并且在客户端执行该命令。tcpdump -i eth0 port 1234nc IP_OF_SERVER 1234 然后我在客户端输入abcd并。Ctrl+D 在 终端上tcpdump,我得到如下输出: 13:35:11.800516 IP 172.19.48.20.51678 > 172.19.48.2.1234: Flags [S], seq 3620507131, win 29200, options [mss 1460,sackOK...

Admin

如何检查 CentOS 7.7 上由于页面加载缓慢(TTFB 1 分钟)导致哪个进程需要 1 分钟
time-wait

如何检查 CentOS 7.7 上由于页面加载缓慢(TTFB 1 分钟)导致哪个进程需要 1 分钟

我使用的是 CentOS 7.7 版。几天前,我的前端页面(不是整个网站)的 TTFB 正好是 1 分钟。我该如何检查是哪个进程导致的?我使用的是 PHP 7.3 php-fpm ON 有什么方法可以检查哪个进程导致等待第一个字节 60 秒? https://i.stack.imgur.com/sYGze.png 我每天都会遇到几次这种错误...所以页面可用性约为 88%...我的首页已关闭(TTFB 1 分钟)12%。请帮忙,这对我来说非常紧急 ...

Admin

为什么服务器要等待第二个请求,直到第一个请求完成
time-wait

为什么服务器要等待第二个请求,直到第一个请求完成

不确定是什么,但每次我尝试从浏览器运行一个 http 请求时,第二个请求都必须等待第一个请求完成。这是服务器端配置/安全性吗? 例如,我有 2 个文件long.php和short.php。在请求long.php其中一个文件后,我完全无法打开short.php。long.php完成后,short.php再加载 。 不确定这与什么有关。短脚本不会发生这种情况...只有大脚本才会发生这种情况。也许一个 IP 用户可以打开一个数据库连接等? 编辑: 如何“重现”此问题的一个好例子是安装 XAMPP,在一个浏览器上开始导入数据库。在此期间,我无法打开另一个 ph...

Admin

对于许多无状态请求,如何配置?
time-wait

对于许多无状态请求,如何配置?

我是一名数据科学家/机器学习开发人员。有时,我必须通过提供端点来公开我的模型。我通常通过 Flask 和 gunicorn 来做到这一点: exampleproject.py: import random from flask import Flask app = Flask(__name__) random.seed(0) @app.route("/") def hello(): x = random.randint(1, 100) y = random.randint(1, 100) return str(x * y) ...

Admin

如何在 ESXi 中预测/测量多核客户机的物理主机等待时间
time-wait

如何在 ESXi 中预测/测量多核客户机的物理主机等待时间

我听说,如果您在 ESXi 下有一个具有 N 个虚拟核心的来宾,则虚拟机管理程序会等待主机上总共 N 个逻辑处理器同时可用,然后再将工作从来宾委派给硬件。因此,建议您应该非常仔细地考虑将来宾增加 X 个核心,除非您确实需要处理周期,因为您将导致等待时间与 X 成比例增加,并且您希望确保添加 vcpus 带来的收益大于增加延迟的成本。 在极端的例子中,假设 ESXi 主机 hA 和 hB 具有相同的硬件和配置,并且每个主机都有一个客户机(分别是 gA 和 gB),并且除了 gA 有 1 个虚拟 CPU 而 gB 有 2 个虚拟 CPU 之外,客户机是相同的。...

Admin

被“TCP:时间等待存储桶表溢出”错误所困扰——我该怎么做才能缓解?
time-wait

被“TCP:时间等待存储桶表溢出”错误所困扰——我该怎么做才能缓解?

我有一个运行 Debian 7(proxmox)的旧系统,托管 OpenVZ 容器,我发现一个麻烦的问题,即系统因与运行 apache 前端的 VZ 容器的开放连接而无法承受。 发生这种情况时,服务器上的日志会充满数千个“TCP:时间等待存储桶表溢出 (CT233)”错误。同时,Web 服务器的响应也很慢。我可以做些什么来缓解这个问题? 在谷歌搜索之后,我对各种 conntrack 设置进行了一些调整,但我一直不愿意做任何过于激进的事情,除非更好地了解可能产生的后果(或者,实际上,这在任何情况下是否真的可能有帮助) 为了了解情况,以下是今天发生这种情况...

Admin

为什么Linux重用“time_wait”端口?
time-wait

为什么Linux重用“time_wait”端口?

据我所知,'time_wait' 状态中的 tcp 端口无法使用。但是,在我的实验中,服务器重用了 'time_wait' 端口?为什么? 首先,在客户端机器上输入命令ehco 40000 40001 > /proc/sys/net/ipv4/ip_local_port_range。因此,TCP 端口的最大数量为 2。 服务器代码 while (1) { int len = sizeof(struct sockaddr); fd = accept(sfd, &remote, &len); read(fd,...

Admin

为什么默认情况下不启用 net.ipv4.tcp_rfc1337?
time-wait

为什么默认情况下不启用 net.ipv4.tcp_rfc1337?

tcp_rfc1337 设置似乎对 TIME-WAIT Assassination 有一个解决方案。 第一个问题是旧的重复数据可能会在新连接中被错误地接受,从而导致发送的数据损坏。 第二个问题是,由于旧的重复数据包进入新连接,连接可能会变得不同步并陷入 ACK 循环,新连接将变得不同步。 第三个也是最后一个问题是,旧的重复数据包可能会错误地进入新建立的连接并终止新连接。 据我所知,为了解决问题,设置的作用是当套接字处于 TIME-WAIT 状态时,忽略 RST(重置)数据包。 那么,为什么默认情况下不启用此设置?使用此功能有什么缺点? ...

Admin

我的网站可以 ping 通,但通过浏览器访问时状态始终为“等待”
time-wait

我的网站可以 ping 通,但通过浏览器访问时状态始终为“等待”

当我尝试使用 CMD.exe 然后输入: ping fgroupindonesia.com 它返回一个真实的响应,例如: C:\Users\admin>ping fgroupindonesia.com Pinging fgroupindonesia.com [219.83.68.83] with 32 bytes of data: Reply from 219.83.68.83: bytes=32 time=24ms TTL=55 Reply from 219.83.68.83: bytes=32 time=25ms TTL=55 Reply...

Admin

Netcat - 回显和管道时套接字处于 time_wait 状态,但直接调用时则不会
time-wait

Netcat - 回显和管道时套接字处于 time_wait 状态,但直接调用时则不会

我正在使用 测试应用程序netcat (nc),但网络连接的吞吐量非常低。运行时,netstat -tnpo我看到 中有多个TCP会话TIME_WAIT。我通过 向应用程序发送数据,bash script如下所示: while true; do echo "<required string>" | nc server_ip port done 如果我改为在以下位置执行此操作terminal: nc server_ip port <required string> 连接立即终止,并且 TIME_WAIT 中不再有任何...

Admin

为什么连接可能会停留在 TIME_WAIT 状态数小时甚至数天?
time-wait

为什么连接可能会停留在 TIME_WAIT 状态数小时甚至数天?

我们的环境是EC2上的ubuntu 12.04。 我知道 TIME_WAIT 是一件好事,并且根据我所读到的内容,我知道连接在 TIME_WAIT 状态最多保留 2 分钟是正常的。 然而,我们有一些实例,其中有许多连接处于 TIME_WAIT 状态,并且已经保持该状态超过 24 小时,而另一端没有相应的连接。 现在,我意识到我可以重新启动网络甚至整个实例来关闭这些连接,但我更好奇这里起作用的机制以及为什么这些连接没有在“2 * 最小段间隔”内自行关闭。我听说过。 谢谢! ...

Admin

为什么同一个socket会多次处于TIME_WAIT状态?
time-wait

为什么同一个socket会多次处于TIME_WAIT状态?

我已经阅读了有关 TIME_WAIT 中的套接字的其他线程,但是显然我仍然遗漏了一些东西。 下面是“netstat -an”中的几行。它怎么会陷入这种情况?如果我理解了我找到的描述,我们应该不会有多个套接字 63444 实例……但是在列为“LISTEN”的实例之后,大约有 50 个单独的套接字连接,一端位于 63444,全部处于“TIME_WAIT”状态。怎么会发生这种情况?我该如何修复它? tcp 0 0 0.0.0.0:63444 0.0.0.0:* LISTEN t...

Admin