【发布时间】:2020-07-04 21:51:29
【问题描述】:
有没有办法限制gsutil -m 命令产生的线程数?我可以说gsutil -m --threads=4 之类的话来生成正好四个线程吗?
【问题讨论】:
标签: google-cloud-platform gsutil
有没有办法限制gsutil -m 命令产生的线程数?我可以说gsutil -m --threads=4 之类的话来生成正好四个线程吗?
【问题讨论】:
标签: google-cloud-platform gsutil
您应该将 boto 配置文件中的 parallel_thread_count 和 parallel_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 时的所有操作, 并且失败操作的数量(如果有)将被报告为 命令执行结束时出现异常。
【讨论】: