gpt4 book ai didi

azure - 在 Windows Azure 中,CloudBlockBlob.PutBlock 方法使用 TCP 还是 UDP 作为传输协议(protocol)?

转载 作者:行者123 更新时间:2023-12-03 00:52:18 24 4
gpt4 key购买 nike

我正在创建一个应用程序来使用 Azure SDK 优化 blob 上传。

我想知道 PutBlock 方法使用 TCP 还是 UDP 作为其底层传输协议(protocol)?

无论它使用哪个,我可以编写一个自定义函数来使用我自己的协议(protocol)执行 blob 上传操作吗?因为这就是我计划优化我的用例的方法。

编辑1:谢谢纪尧姆,虽然我不确定你的意思,但即使我添加了代理 worker 角色,它最终不会使用 REST API 的 HTTP/TCP 协议(protocol)来完成这项工作。在这种情况下,我的协议(protocol)难道不只是另一种降低速度的开销吗?

最佳答案

Windows Azure 存储 Blob 通过 REST API 进行管理(http 或 https)所以它是 TCP。您对 Azure Blob 存储协议(protocol)没有任何控制权,只能在 http 或 https 之间进行选择。

如果您想使用自己的协议(protocol)上传到 Azure,则必须添加一个“代理”辅助角色(或另一个 VM 实例,请参阅 David 的评论),该角色使用您的协议(protocol)公开端点,然后将数据上传到 blob使用常规 REST blob 端点。由于您的工作线程和存储帐户位于同一数据中心,因此不应成为瓶颈。

<小时/>

要回答问题的第二部分,是的,开销更大,但可能不会减慢速度。假设 Blob 协议(protocol)开销为 10%,而您自己的协议(protocol)开销为 5%。假设客户端和 Azure 之间的连接速度为 128kbps,Azure 内部速度为 1Gbps(完全随机数,仅用于演示潜在结果)。

  • 客户端到 Blob ==> 10Mb,128kbps 时有 10% 开销 => 00:11:27
  • 客户端到代理 => 10Mb,128kbps 时有 5% 开销 ==> 00:10:56
  • 代理到 Blob ==> 10Mb,1Gbps 时有 10% 开销 ==> 00:00:00(真的很快!)

客户端到代理 + 代理到 Blob = 10 分钟 56 秒,更快;)

现在做你自己的download time calculations测量带宽和开销(您还应该考虑延迟,...)。

关于azure - 在 Windows Azure 中,CloudBlockBlob.PutBlock 方法使用 TCP 还是 UDP 作为传输协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24648118/

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