4

25 個の 4GB json ファイルを含むディレクトリで (-m オプションを使用して) gsutil cp コマンドを並行して実行しています (-z オプションを使用して圧縮しています)。

gsutil -m cp -z json -R dir_with_4g_chunks gs://my_bucket/

実行すると、1 つを除くすべてのファイルをコピーしていることが端末に出力されます。これは、ファイルごとに次の行のいずれかを出力することを意味します。

Copying file://dir_with_4g_chunks/a_4g_chunk [Content-Type=application/octet-stream]...

そのうちの 1 つの転送が完了すると、最後のファイルをコピーすると表示されます。

この結果、他のファイルのコピーが終了したときにのみコピーを開始する 1 つのファイルが存在し、プロセスが大幅に遅くなります。

-m オプションでアップロードできるファイル数に制限はありますか? これは、boto 構成ファイルで構成可能ですか?

4

2 に答える 2

13

Mac で .boto ファイルを見つけることができませんでした (上記の jterrace の回答に従って)。代わりに、-o スイッチを使用してこれらの値を指定しました。

gsutil -m -o "Boto:parallel_thread_count=4" cp directory1/* gs://my-bucket/

これにより、転送速度が制御されているように見えました。

于 2015-03-04T08:49:08.910 に答える
10

-m オプションの説明から:

gsutil は、boto 構成ファイルに設定された parallel_thread_count 値と parallel_process_count 値によって決定されるスレッドとプロセッサの数を使用して、マルチスレッドとマルチプロセッシングの組み合わせを使用して、指定された操作を実行します。最適な値は、ネットワーク速度、CPU の数、使用可能なメモリなど、さまざまな要因によって異なる可能性があるため、これらの値を試してみることをお勧めします。

.boto ファイルを見ると、生成された次のコメントが表示されます。

# 'parallel_process_count' and 'parallel_thread_count' specify the number
# of OS processes and Python threads, respectively, to use when executing
# operations in parallel. The default settings should work well as configured,
# however, to enhance performance for transfers involving large numbers of
# files, you may experiment with hand tuning these values to optimize
# performance for your particular system configuration.
# MacOS and Windows users should see
# https://github.com/GoogleCloudPlatform/gsutil/issues/77 before attempting
# to experiment with these values.
#parallel_process_count = 12
#parallel_thread_count = 10

Linux 以外のマシンのデフォルト値は 24 スレッドと 1 プロセスであるため、Windows または Mac を使用していると思います。これにより、最初に 24 個のファイルがコピーされ、その後、最後の 1 個のファイルがコピーされます。これらの値を増やして、25 個のファイルすべてを一度に転送してみてください。

于 2013-06-04T21:21:38.360 に答える