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

将 blob 上传到 IoT Edge blob 存储模块时有时会冻结 5 秒

如何解决将 blob 上传到 IoT Edge blob 存储模块时有时会冻结 5 秒

我们想知道 IoT Edge 上 Azure Blob 存储的作者是谁:

https://azuremarketplace.microsoft.com/en/marketplace/apps/azure-blob-storage.edge-azure-blob-storage?tab=Overview

Iotedge 团队的一名工程师帮助我们调查了该问题,并确认该问题需要由物联网边缘 Azure Blob 存储的作者(或所有者团队)检查。 但是每次我们的 Cx 报告这个模块的问题时,我们都无法找到这个模块的所有者。 (此模块的代码未在 Github 上发布)并且 Blob Storage 团队提到他们不支持此模块。

问题描述:

使用 azure-storage-blobs-cpp 将 blob 上传到本地 IoT Edge Blob 存储模块时出现延迟/冻结。 延迟/冻结不是随机的,每对 IoT Edge Blob 存储模块执行 90 多次 UploadFrom() 操作就会发生一次

日志

开始循环:3 客户端经过时间:6.6e-08 s 3_0,经过时间:0.00249819 s 3_1,经过时间:0.002191 s 3_2,经过时间:0.00250777 s 3_3,经过时间:0.043366 s 3_4,经过时间:0.00278617 s 3_5,经过时间:0.00251299 s 3_6,经过时间:0.0026084 s 3_7,经过时间:0.00285864 s 3_8,经过时间:4.88324 s 3_9,经过时间:0.00276568 s 3_10,经过时间:0.00339319 s 3_11,经过时间:0.00167178 s 3_12,经过时间:0.00126678 s 3_13,经过时间:0.00132303 s 3_14,经过时间:0.00120535 s 3_15,经过时间:0.00168774 s 3_16,经过时间:0.00141434 s 3_17,经过时间:0.00128972 s 3_18,经过时间:0.00141668 s 3_19,经过时间:0.00149567 s 3_20,经过时间:0.00120535 s 3_21,经过时间:0.00132922 s 3_22,经过时间:0.00420676 s 3_23,经过时间:0.00120535 s 3_24,经过时间:0.00123981 s 3_25,经过时间:0.00120535 s 3_26,经过时间:0.00120535 s 3_27,经过时间:0.00137092 s 3_28,经过时间:0.00121604 s 3_29,经过时间:0.00123457 s 3_30,经过时间:0.00154042 s 第三个循环结束

延迟/冻结发生在 blobclient 或容器客户端操作上,例如 CreateIfNotExists() 或 UploadFrom() 函数等。 该错误导致程序冻结约 4 到 5 秒,通常需要约 0.001-0.05 秒才能完成。

沙箱已经过使用连接字符串到云存储帐户以及 azure 的测试。延迟和冻结仅在上传到 IotEdge blob 存储模块时发生。

仅当 Cx 仅与 IotEdge blob 存储模块连接时才会发生延迟和冻结。与云存储帐户甚至 azurite 存储模拟器模块连接时都没有错误。 (https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite) 尽管如此,Cx 已经附加了容器的 iotedge 日志。 BlobName:3_8 的错误发生在 [2021-06-24 11:14:47.383] 但是 Cx 在 iotedge 日志中没有看到任何区别。 从 Cx 方面来看,他们认为这是 IotEdge Blob 存储模块具有的内部缓冲区。 它可能只是阻止进一步的请求,直到 IotEdge Blob 存储模块“不忙”。

它可能只是一个需要设置的环境变量。但是,Cx 没有找到关于 IotEdge Blob 存储模块的大量文档来解释暴露的 ENV 变量。

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