【问题标题】:Gsutil sync vs cp -nGsutil 同步与 cp -n
【发布时间】:2021-01-30 18:49:29
【问题描述】:

我希望定期备份多个 GCS 存储桶,有时这些存储桶可能包含大量文件(超过 200,000 个,总文件大小为 5tb-ish)。

使用多线程/多进程 rsync 似乎仍然需要很长时间才能建立同步状态(这需要

使用 cp no-clobber (-n) 选项可能会加快速度吗?还是会花费与 rsync 相同的时间来建立同步状态?谢谢。

【问题讨论】:

  • 你在哪里运行 gsutil 命令?
  • 以及桶是什么类型的存储?什么位置和等级?你能补充一些信息吗?
  • 您将存储桶的备份存储在哪里?

标签: google-cloud-storage rsync cp gsutil


【解决方案1】:

这完全取决于您要传输的对象的平均文件大小。你有很多小文件,那么我建议不要使用 -n (no-clobber)。因为对于每个文件,它都必须发送一个请求来检查文件是否已经存在。

在您的情况下,您的平均文件大小约为 25mb。我从来没有做过任何测试来找到使用 no-clobber 选项的收支平衡点。但就您而言,我认为加快速度可能会有所帮助。但是,如果您拥有平均超过 100mb 的文件,则影响会大得多。

很高兴知道,价格不是一个因素,因为 GCP 入口是免费的。如果价格是一个因素,您当然会选择无干扰选项,以传输更少的数据。

没有破坏。指定时,现有文件或对象在 目的地不被替换。被此跳过的任何项目 选项被报告为已跳过。 gsutil 执行额外的 GET 请求在尝试上传之前检查项目是否存在 数据。这可以避免 gsutil 重新传输数据,但额外的 HTTP 请求可能会使小对象传输更慢且更多 很贵。

Source

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 2014-10-04
    • 2021-08-19
    • 2021-05-20
    • 2021-11-25
    • 2019-01-01
    • 2021-10-10
    • 2014-06-11
    • 2020-02-09
    相关资源
    最近更新 更多