【问题标题】:How to choose blob block size in Azure如何在 Azure 中选择 blob 块大小
【发布时间】:2017-11-30 05:17:04
【问题描述】:

我想在 Azure 存储中使用追加 blob。 当我上传 blob 时,我应该选择块大小。 选择块大小时应该考虑什么? 如果我上传的文件大小大于块大小,我认为没有区别。 如何选择合适的块大小?

【问题讨论】:

    标签: azure azure-blob-storage


    【解决方案1】:

    根据您的描述,我做了一些研究,您可以参考它以更好地了解附加 blob 块:

    我刚刚检查了CloudAppendBlob.AppendTextCloudAppendBlob.AppendFromFile。如果文件大小或文本内容大小小于 4MB,则将其上传到新的单个块。这里我使用CloudAppendBlob.AppendText 追加了3次文本内容(字节大小小于4MB),您可以参考网络跟踪如下:

    如果内容大小 > 4MB,则客户端 SDK 会将内容分成小块 (4MB) 并上传到每个块中。这里我上传了一个48.8MB左右的文件,你可以参考网络跟踪如下:

    正如 Gaurav Mantri 提到的,您可以为低速网络选择小块大小。此外,对于小块大小的写入,您会为写入请求检索更好的性能,但是当您读取数据时,您的数据跨越多个单独的块,这会减慢您的读取请求。这取决于您的应用程序预期的写入/读取比率,为了获得最佳读取,我建议您需要将批量写入尽可能接近 4MB,这会导致写入请求速度较慢,但​​读取速度会快得多。

    【讨论】:

      【解决方案2】:

      决定块大小时需要考虑的几点:

      • 如果是Append Blob,块的最大大小可以是4 MB,所以你不能超过这个数字。
      • 同样,最多可以上传50000 blocks,因此您需要将 blob 大小除以 50000 来确定块的大小。例如,如果您要上传一个 100MB 的文件并决定选择 100 字节的块,您最终会得到 1048576 (100x1024x1024/100) 个块,这超过了 50000 的允许限制,因此不允许这样做。
      • 最重要的是,我相信这取决于您的Internet speed。如果你有一个非常好的互联网连接,你可以达到 4MB 块大小。对于不太好的 Internet 连接,您可以降低限制。例如,我总是尝试使用 256-512KB 的块大小,因为我的 Internet 连接不好。

      【讨论】:

        猜你喜欢
        • 2020-03-04
        • 2014-10-06
        • 2013-12-20
        • 2018-09-25
        • 2011-12-25
        • 1970-01-01
        • 2018-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多