gpt4 book ai didi

c++ - ScopedDbConnection 偶尔抛出 "Couldn' t 连接到 127.0.0.1",可能的原因?

转载 作者:可可西里 更新时间:2023-11-01 10:35:12 24 4
gpt4 key购买 nike

实际上,异常消息只是说“Socket exception”,但我进入源代码看到了“Couldn't connect to 127.0.0.1”消息。有什么建议吗?

澄清一下:我每秒大约有 10 到 20 个连接,平均每分钟抛出两次异常,间隔和密度不可预测。我看不到任何模式。

P. S. 我在 Windows 和 Linux 上都遇到了这个异常。然而,GDB 和 QtCreator 在 Linux 上很烂,所以我只在 Windows 上对其进行了调查。

最佳答案

你说每秒建立 10 到 20 个连接?

您几乎肯定会溢出服务器上的“监听积压”。当 POSIX 服务器程序想要监听传入的套接字连接时,它调用带有 backlog 参数的 listen(),通常大约为 5-100 左右。这设置了操作系统允许同时挂起的最大传入连接数。所以你可以有超过 100 个连接,但你不能同时在服务器上有 100 个(或者甚至 10 个)正在运行。你可以在这里阅读:http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/023/2333/2333s2.html

事实上,从 MongoDB 错误跟踪器看来,他们使用默认值 5。参见此处:https://jira.mongodb.org/browse/SERVER-2554 .另一方面,GitHub 上的实际代码显示积压参数为 128:https://github.com/mongodb/mongo/blob/5a2f4ceb93b44283500f1ed346898439ca33b137/util/net/listen.cpp#L138 ,我回到了 2.5 年前,它似乎也有 128。不过,我不确定这是不是真的——如果是这样,Mongo 人员不会及时更新他们的错误列表。

关于c++ - ScopedDbConnection 偶尔抛出 "Couldn' t 连接到 127.0.0.1",可能的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467087/

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