微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gsutil同步与cp -n

如何解决Gsutil同步与cp -n

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

使用多线程/多进程rsync似乎仍然花费太长时间才能建立同步状态(这需要花费20分钟的时间)。

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

解决方法

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

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

一件好事,价格不是因素,因为GCP进入是免费的。如果价格是一个因素,您当然会选择no-clobber选项,以传输较少的数据。

没有礼貌。指定后,位于 目的地未替换。跳过的任何项目 选项报告为已跳过。 gsutil执行其他GET 要求在尝试上传商品之前检查商品是否存在 数据。这样可以避免gsutil重新传输数据,但是额外的 HTTP请求可能会使小对象传输变慢甚至更多 昂贵。

Source

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。