AWS Snowball
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Snowball 的性能

在接下来的内容中,您将了解有关 AWS Snowball性能的信息。此处,我们简要介绍了性能,因为每个本地环境的运营方式各不相同 — 不同的网络技术、不同的硬件、不同的操作系统、不同的过程等。

下表概述了您的网络传输速率如何影响向 Snowball 填充数据所需的时间。如果小文件未事先批处理成大文件即进行传输,则会因增加开销而减慢您的传输速度。

速率 (MB/s) 42-TB 传输时间 72-TB 传输时间
800 14 小时 1 天
450 1.09 天 1.8 天
400 1.16 天 2.03 天
300 1.54 天 2.7 天
277 1.67 天 2.92 天
200 2.31 天 4 天
100 4.63 天 8.10 天
60 8 天 13 天
30 15 天 27 天
10 46 天 81 天

下面介绍如何确定何时使用 Snowball 而不是通过 Internet 进行数据传输,以及如何加快从数据源到 Snowball 的传输速度。

加快数据传输速度

一般来说,您可通过以下方法加快数据从数据源到 Snowball 的传输速度,这些方法是根据对性能产生的积极影响由大到小进行排序的:

  1. 使用最新的 Mac 或 Linux Snowball 客户端 – 最新的适用于 Mac 和 Linux 的 Snowball 客户端都支持 x86 指令集架构的高级加密标准新指令 (AES-NI) 扩展。此扩展将加快在 Snowball 与您的 Mac 或 Linux 工作站之间传输时加密或解密数据的速度。有关 AES-NI (包括支持的硬件) 的更多信息,请参阅 Wikipedia 上的 AES 指令集

  2. 批量传输小型文件 – 因为要进行加密,每个复制操作都会产生一些开销。因此,相比传输大型文件中的相同数据,对独立文件执行多次传输可能会降低整体性能。您可以大大加快小文件的传输速度,方式是通过一个 snowball cp 命令批处理小文件。默认情况下会启用小文件的批处理。在导入 Amazon S3 的过程中,这些批处理后的文件将自动提取到其原始状态。有关更多信息,请参阅snowball cp 命令的选项

  3. 一次执行多个复制操作 – 如果工作站的功能足够强大,则可一次执行多个 snowball cp 命令。您还可通过在单独的 Snowball 客户端实例中从一个单独的终端窗口运行每条命令完成此操作,所有这些实例都连接到同一个 Snowball。

  4. 从多个工作站进行复制 – 您可将单个 Snowball 连接到多个工作站。各工作站都可托管一个单独的 Snowball 客户端实例。

  5. 传输目录而不是文件 – 由于每个 snowball cp 命令都存在开销,因此建议不要排列大量单个复制命令。排列许多命令会对传输性能产生严重的负面影响。

    例如,假设您拥有称为 C:\\MyFiles 的目录,该目录只包含三个文件:file1.txt、file2.txt 和 file3.txt。假设您发起以下三个命令。

    snowball cp C:\\MyFiles\file1.txt s3://mybucket snowball cp C:\\MyFiles\file2.txt s3://mybucket snowball cp C:\\MyFiles\file3.txt s3://mybucket

    在这种情况下,您的开销是使用以下复制命令传输整个目录的三倍。

    Snowball cp –r C:\\MyFiles\* s3://mybucket
  6. 请勿在传输过程中对文件执行其他操作 – 在传输过程中重命名文件,更改其元数据,或在执行复制操作期间在文件中写入数据,都会对传输性能产生严重的负面影响。我们建议您在传输文件时将文件保持静态。

  7. 减少本地网络使用 – 您的 Snowball将跨本地网络进行通信。因此,降低 Snowball、它连接到的交换机和承载您的数据源的工作站之间的其他本地网络流量可以提高数据传输速度。

  8. 消除不必要的跃点 – 建议您设置 Snowball、数据源和工作站,使其成为通过单个交换机通信的仅有计算机。这样做可大大提高数据传输速度。

通过试验获得更好的性能

您的性能结果将因您的硬件、网络、文件数量和大小以及文件的存储方式而异。因此,如果您未获得理想的性能,建议您对您的性能指标进行试验。

首先,尝试多次复制操作,直到总体传输性能降低。执行多个副本操作可以立刻对您的整体传输性能产生显著的正面影响。例如,假设您正在一个终端窗口中运行单个 snowball cp 命令,并且您发现数据正在以 30 MB/秒的速度传输。您打开另一个终端窗口,并对要传输的另一组文件运行另一个 snowball cp 命令。您将看到这两条命令都以 30 MB/秒的速度执行传输。在此情况下,您的总体传输性能为 60 MB/秒。

现在,假设您从一个独立工作站连接到 Snowball。您从该工作站运行 Snowball 客户端以对要传输的另一组文件执行第三个 snowball cp 命令。当您查看性能时,您发现所有三个 snowball cp 命令实例的运行性能均为 25 MB/秒,总体性能为 75 MB/秒。在此示例中,虽然每个实例的性能已降低,但总体性能已提高。

按照这种方法使用加快数据传输速度中列出的技术进行试验,可帮助您优化数据传输性能。

本页内容: