【问题标题】:Limit gsutil -m threads限制 gsutil -m 线程
【发布时间】:2020-07-04 21:51:29
【问题描述】:

有没有办法限制gsutil -m 命令产生的线程数?我可以说gsutil -m --threads=4 之类的话来生成正好四个线程吗?

【问题讨论】:

    标签: google-cloud-platform gsutil


    【解决方案1】:

    您应该将 boto 配置文件中的 parallel_thread_countparallel_process_count 值设置为 4

    Gsutil Top-Level Command-Line Options

    -m 标志

    导致支持的操作(acl ch、acl set、cp、mv、rm、rsync 和 setmeta) 并行运行。这可以显着改善 如果您要对大量数据执行操作,则性能 文件通过相当快的网络连接。

    gsutil 使用以下组合执行指定的操作 多线程和多处理,使用多个线程和 由 parallel_thread_count 确定的处理器和 在 boto 配置文件中设置的 parallel_process_count 值。 你 可能想要试验这些值,因为最好的值可以 取决于许多因素,包括网络速度,数量 CPU 和可用内存。

    如果您使用的是 -m 选项,则可能会使您的性能变差 较慢的网络,例如提供的典型网络速度 非商业家庭网络计划。它也可以让你的表演 对于在本地执行所有操作的情况(例如,gsutil rsync,其中源 URL 和目标 URL 都在本地磁盘上), 因为它会“破坏”您的本地磁盘。

    如果使用并行传输的下载或上传操作之前失败 整个传输完成(例如,在 1000 个文件中的 300 个后失败 已转移),您将需要重新开始整个转移。

    此外,尽管大多数命令通常会在遇到 禁用 -m 标志时出错,所有命令将继续尝试 使用多个线程或进程启用 -m 时的所有操作, 并且失败操作的数量(如果有)将被报告为 命令执行结束时出现异常。

    【讨论】:

      猜你喜欢
      • 2015-01-30
      • 2011-09-09
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      相关资源
      最近更新 更多