当主机操作系统空闲时,Docker 会限制网络速度

当主机操作系统空闲时,Docker 会限制网络速度

我的容器化 torrent 下载速度出现了一些奇怪的问题。

我在 docker 容器中使用 deluge 和 qbittorrent 进行了测试。

当我开始下载时速度很快,然后就慢下来约 1 分钟后(约 500 Kb/s)。

真正奇怪的是,如果我在主机操作系统上启动任何下载,torrent 下载就会很快

如果我尝试从主机操作系统(docker 外部)使用 qBittorrent 下载相同的 torrent,则下载速度很快,并且可以提高 docker 容器内的下载速度。 如果我停止在主机操作系统上下载,dockerized torrent客户端的下载速度会降回500kb/s左右

更奇怪如果我打开一个容器的终端然后我进入下载文件夹wget并开始以闪电般的速度下载大文件,并且docker内部的torrent下载速度也会加快。

所以这不是网络或磁盘 IO 问题,因为我甚至可以直接从 torrent 客户端之外的容器下载文件并快速写入磁盘。

经过 24 小时的调试后,我尝试了在互联网上可以找到的所有方法:

  • 测试了不同的容器(deluge 和 qbittorrent)

  • ltConfig具有最佳性能种子设置的deluge插件

  • 多个 VPN 服务器和提供商(NordVPN、Mullvad)

  • 多种代理设置(带或不带 VPN)

  • 没有 VPN 和/或代理,一切都一样

  • 磁盘 IO 速度完美

  • 彻底摧毁容器,删除镜像和网络,然后重建

  • 恢复出厂设置并尝试该方法(删除配置文件夹并重建容器)

  • 100% 重新安装操作系统

没有任何帮助,如果我启动不在 dockerized torrent 客户端内的下载,那么这是在容器中获得预期下载速度的唯一方法。

感觉 dockerized torrent 客户端需要外部的重负载才能使用全部带宽,并且当网络空闲时,它会因为某种原因限制网络速度。

我在用Ubuntu 20.4

相关内容