gpt4 book ai didi

linux - Linux 上机器之间的 tcp/ip 连接数是否有限制?

转载 作者:IT王子 更新时间:2023-10-29 00:15:12 25 4
gpt4 key购买 nike

我有一个在 5 分钟内编写的非常简单的程序,它打开一个服务器套接字并循环处理请求并将发送给它的字节打印到屏幕上。

然后我尝试对我可以使用多少连接进行基准测试,以找出我可以使用该程序支持多少并发用户。

在另一台机器上(它们之间的网络未饱和)我创建了一个简单的程序,它进入循环并连接到服务器机器并发送字节“hello world”。

当循环为 1000-3000 时,客户端完成所有请求的发送。当循环超过 5000 时,它会在完成前 X 个请求后开始超时。为什么是这样?我已经确保在循环中关闭我的套接字。

你能在一定时间内只创建这么多连接吗?

这个限制是否只适用于相同的机器,我不必担心生产环境中有 5000 多个请求都来自不同的机器?

最佳答案

有一个限制,是的。请参阅 ulimit

此外,还需要考虑TIME_WAIT状态。一旦 TCP 套接字关闭(默认情况下),端口将在 TIME_WAIT 状态下保持 occupied 2 分钟。这个值是可调的。即使它们已关闭,这也会“耗尽套接字”。

运行 netstat 以查看正在运行的 TIME_WAIT 内容。

附言TIME_WAIT 的原因是为了处理数据包在套接字关闭后到达的情况。发生这种情况可能是因为数据包被延迟,或者另一方只是不知道套接字已经关闭。这允许操作系统静默丢弃这些数据包,而没有机会“感染”不同的、不相关的套接字连接。

关于linux - Linux 上机器之间的 tcp/ip 连接数是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com