【问题标题】:network namespace TCP microfreeze网络命名空间 TCP 微冻
【发布时间】:2021-05-14 18:25:33
【问题描述】:

我在不同的网络命名空间中运行一个 python 应用程序,它打开一个到 websocket 的 TCP 连接。问题是这个连接有微冻。它会运行大约一分钟,然后会挂起一秒钟。我认为这是网络命名空间的问题,因为如果我在它之外运行就没有问题。

我使用ss -tm 监控 TCP 缓冲区,我注意到当冻结开始时,缓冲区也开始填满。他们似乎其余时间都是空的。任何帮助将不胜感激。

【问题讨论】:

    标签: python linux networking


    【解决方案1】:

    我发现了问题,应用程序尝试连接到本地主机套接字。它失败了 因为该套接字是使用主 IP 打开的,而不是在网络命名空间中。 因为该应用程序是用 python 编写的,所以它会在尝试连接时挂起。

    【讨论】:

    • 这如何解释您观察到的奇怪时间?
    • 我不确定,但我猜它填满了等待超时连接的 tcp 缓冲区。我们删除了它,它开始正常工作。
    • 我终于找到了问题所在。我没有提到该应用程序是用 python 编写的。该本地主机连接不在异步函数中,因此它会阻止应用程序。
    • 您已经相应地编辑了上面的标签;如果您使用此信息更新您的自我答案,我可能会同时支持问题和答案;)
    猜你喜欢
    • 2021-01-12
    • 2012-03-13
    • 2016-05-03
    • 1970-01-01
    • 2019-01-23
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    相关资源
    最近更新 更多