微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Azure blob 容器接收分块数据时数据包之间的延迟

如何解决从 Azure blob 容器接收分块数据时数据包之间的延迟

我们正在开发一种物联网解决方案,该解决方案将从 Azure blob 容器下载固件和配置文件。嵌入式设备使用 Winc3400 来运行 Wifi 堆栈。 Winc 堆栈对每个套接字发送/接收操作的限制为 1440 字节。

我们看到的是,每 10-12 个数据包,我们就会收到一个短数据包,然后延迟 5 秒。这导致大文件的下载时间很长。

当我们从 AWS 下载任意文件时,我们看不到这一点。

这是下载过程中的日志片段:

[02/04/21 - 12:36:24:185] entity: received received size 930  
[02/04/21 - 12:36:24:213] entity: received received size 1446  
[02/04/21 - 12:36:24:241] entity: received received size 1446  
[02/04/21 - 12:36:24:270] entity: received received size 1446  
[02/04/21 - 12:36:24:296] entity: received received size 1446  
[02/04/21 - 12:36:24:367] entity: received received size 1446  
[02/04/21 - 12:36:24:418] entity: received received size 1446  
[02/04/21 - 12:36:24:446] entity: received received size 1446  
[02/04/21 - 12:36:24:474] entity: received received size 1446  
[02/04/21 - 12:36:24:502] entity: received received size 1446  
[02/04/21 - 12:36:24:534] entity: received received size 1446  
[02/04/21 - 12:36:24:560] entity: received received size 491  
[02/04/21 - 12:36:29:915] entity: received received size 1433 <- 5 seconds since last packet

我一直无法弄清楚为什么我们会在数据包之间出现这些延迟。堆栈在 MCU 外部的 IC 上处理,因此我们深入研究它的能力有限。

Azure 和 AWS 容器之间是否存在任何可能导致这种情况的主要差异?

这可能只是 Azure 服务器和我们设备上有限的套接字传输大小的问题吗?

我们可以在 GET 请求标头中放入任何有助于解决问题的内容吗?现在我们只指定“传输编码:分块\r\n”和“连接:保持活动\r\n”。

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。