【问题标题】:The fastest method to move tens of thousands of small files to Azure Storage container将上万个小文件移动到 Azure Storage 容器的最快方法
【发布时间】:2016-01-05 03:55:50
【问题描述】:

将数以万计的小图像文件从我的本地计算机移动到 Azure 云存储中的容器的最快方法是什么?

我正在为 Azure 尝试高度推荐的 CloudBerry 资源管理器,目前估计完成时间约为 4 小时(总共大约 30K 个文件,平均文件大小为 5KB) .这对我来说是不可接受的——我想大幅缩短那个时间。

您能否提出其他选择?我认为非 GUI 的会更快。我将提供一个我尝试过的基于 Linux 的解决方案的示例(如下),该解决方案对我不起作用。也许专家可以指出类似的东西,但有一个正确的用法示例。当涉及到详尽的示例时,下面的解决方案并不是特别有据可查。提前致谢,如果您需要,请随时向我询问更多信息。


我尝试过的基于 Linux 的解决方案称为 blobxfer - 类似于 AzCopy,但适用于 Linux。我使用的命令是blobxfer mystorageaccount pictures /home/myuser/s3 --upload --storageaccountkey=<primary access key from portal.azure.com> --no-container。但我不断收到一个神秘错误:未知错误(其中一个 HTTP 标头的值格式不正确。)

完整的追溯:

<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format.
RequestId:61a1486c-0101-00d6-13b5-408578134000
    Time:2015-12-27T12:56:03.5390180Z</Message><HeaderName>x-ms-blob-content-length</HeaderName><HeaderValue>0</HeaderValue></Error>
Exception in thread Thread-49 (most likely raised during interpreter shutdown):

Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
  File "/home/myuser/.virtualenvs/redditpk/local/lib/python2.7/site-packages/blobxfer.py", line 506, in run
  File "/home/myuser/.virtualenvs/redditpk/local/lib/python2.7/site-packages/blobxfer.py", line 597, in putblobdata
  File "/home/myuser/.virtualenvs/redditpk/local/lib/python2.7/site-packages/blobxfer.py", line 652, in azure_request
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'Timeout'

【问题讨论】:

  • gzip 文件存档(这需要时间),然后在传输后展开存档(更多时间,但少于发送单个文件)。祝你好运。
  • 没有正确答案。除了您使用的工具之外,您还可以尝试其他工具;可以直接使用API​​/SDK;您可以使用 Azure 提供的 AzCopy;或者你能找到的任何其他东西。您需要自己进行测试。您还需要查看存储 scalability targets 以查看最大存储 API 事务数/秒(2000/blob,20,000/存储帐户)和最大入口(每个 blob 60MB/s,每个帐户 10+ Gbps)和找出最大理论上传性能。

标签: linux azure azure-storage azure-blob-storage


【解决方案1】:

请尝试将您的 blobxfer 升级到 0.9.9.6。最近修复了一些零字节文件的错误。

关于 blobxfer 的问题,您应该直接在 GitHub 页面上打开问题,而不是在 stackoverflow 上。代码的维护者可以更轻松地查看您的问题并回复和/或修复与该特定工具相关的问题。如果您在升级到 0.9.9.6 后仍然遇到 blobxfer 问题,请直接在 GitHub 项目页面上发布问题。

一般来说,正如 shellter 所指出的,对于数千个小文件,您应该先将它们存档,然后再上传存档以实现更大的吞吐量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2020-04-30
    • 1970-01-01
    • 2013-07-17
    • 2016-11-29
    • 2019-07-23
    • 1970-01-01
    相关资源
    最近更新 更多