如何在Azure中选择blob块大小

时间:2017-06-27 08:21:05

标签: azure azure-storage-blobs

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

2 个答案:

答案 0 :(得分:3)

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

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

enter image description here

对于内容大小> 4MB,然后客户端SDK将内容分成小块(4MB)并将它们上传到每个块。在这里,我上传了一个大小约为48.8MB的文件,您可以按如下方式引用网络跟踪:

enter image description here

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

答案 1 :(得分:1)

决定块大小时需要考虑的一些事项:

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