我收到来自我们其中一个数据中心的报告,称“从 Azure 下载速度很慢”,因此为了重现这种情况,我托管了自己的 BLOB 存储并尝试了一下。所有主机都位于同一个子网、同一个交换机、同一个 /24 中。中间没有明显的网络设备,只有主机在交换机上使用公共 IP,路由器规格严重超标。我试过两个 ISP,结果相同。我试过其他数据中心,结果也类似。BLOB 没什么特别的。它是一个 5G test.bin 文件。
简而言之,我的下载速度波动很大,即使是在晚上,当链接上肯定没有流量时(是的,我已经验证过了)。测试是 wget 我的 test.bin 文件(https),等待 20 秒,然后绘制速度图表。
Host1 - 800 KB/s
Host2 - 900 KB/s
Host3 - 900 KB/s
Host4 - 2.5 MB/s
Host5 - 900 KB/s
Host6 - 46.5 MB/s
Host7 - 45 MB/s
Host8 - 42.7 MB/s
Host9 - 45 MB/s
Host10 - 47 MB/s
Host 11 - 47.3MB/s
Host 11 Guest 1 - 396KB/s
Host 11 Guest 2 - 426KB/s"
Host 12 - 4.71MB/s
Host 12 Guest 1 - 421KB/s"
Host 13 - 2 MB/s
Host 14 - 45.1MB/s
Host 14 Guest 1 - 386KB/s"
Host 15 - 47.6MB/s
Host 15 Gest 1 - 452KB/s"
Host 16 - 2.51MB/s
Host 16 guest 1 - 398KB/s
Host 16 guest 2 - 505KB/s"
消除的因素
- 不是 ISP。我都试过了。都还不错。其他地区也有类似的波动。这些主机都有 1G 或 10G 接口,在速度测试中获得全线速,并以可观的速度下载其他文件。
- 不是 IP 限制。我把“快速主机 IP”放在“慢速主机”上,机器的快慢保持不变。
- 我不认为这是路径本身的问题。它太一致了,不遵循源 IP。此外,一些“快速主机”具有与“慢速主机”相同的跟踪路由。慢速总是慢速,快速总是快速。
- 启动各种发行版(尤其是 CentOS8)似乎在某些情况下会加快速度。切换回来后,一切又变慢了。
- 这就像时钟一样。无论我是否在当地时间凌晨 12:00 尝试,速度都会降低,就像我在这里发布的那样。
- 从同一区域的虚拟机下载更加一致(上文未显示。上文是 Blob 存储下载)
我个人认为这是 MS 正在做的某种奇怪的 TCP 拥塞控制。我发现改变窗口大小似乎可以让一些较慢的主机变得更快。有时主机会加速到 45 Mbps 左右,停留 10 秒左右,然后开始减速并稳定在最终速度。
有什么想法吗,我茫然无措。
操作系统是CentOS 7。
答案1
答案2
尝试 AzCopy 应该是下载文件的最快方法。
参考:https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10