You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- New options related to batch transfers:
- - x, number of files per batch tranfer (default 200).
- - Max number of handles for linux is calculated by the number of sources times number of handles per file.
- - h, handles per file, default 2.
- Preprocess of sources occur concurrently.
- Default blocksize for blocks is 8MB instead of 4 MB
- Reduced default per core number of readers and workers (5, 8).
- p option keeps the directory structure from storage account while downloading from the storage account.
Same as uploading to block blob storage, but with the transfer definiton (-t option) set to file-pageblob.
@@ -127,6 +128,11 @@ Without the -n option all files in the container will be downloaded.
127
128
128
129
`./blobporter -c mycontainer -t blob-file`
129
130
131
+
By default files are downloaded to the same directory where you are running blobporter. If you want to keep the same directory structure of the storage account use the -p option.
@@ -171,15 +177,23 @@ Without the -n option all files in the container will be downloaded.
171
177
172
178
## Performance Considerations
173
179
174
-
By default, BlobPorter creates 6 readers and 9 workers for each core on the computer. You can overwrite these values by using the options -r (number of readers) and -g (number of workers). When overriding these options there are few considerations:
180
+
By default, BlobPorter creates 5 readers and 8 workers for each core on the computer. You can overwrite these values by using the options -r (number of readers) and -g (number of workers). When overriding these options there are few considerations:
175
181
176
182
- If during the transfer the buffer level is constant at 000%, workers could be waiting for data. Consider increasing the number of readers. If the level is 100% the opposite applies; increasing the number of workers could help.
177
183
178
184
- In BlobPorter, each reader or worker correlates to one goroutine. Goroutines are lightweight and a Go program can create a high number of goroutines, however, there's a point where the overhead of context switching impacts overall performance. Increase these values in small increments, e.g. 5.
179
185
180
-
- For transfers from fast disks (SSD) or HTTP sources a lesser number readers or workers could provide the same performance than the default values. You could reduce these values if you want to minimize resource utilization. Lowering these numbers reduces contention and the likelihood of experiencing throttling conditions.
186
+
- For transfers from fast disks (SSD) or HTTP sources reducing the number readers or workers could provide better performance than the default values. Reduce these values if you want to minimize resource utilization. Lowering these numbers reduces contention and the likelihood of experiencing throttling conditions.
187
+
188
+
- Starting with version 0.5.10:
189
+
190
+
-- Transfers are batched. Each batch transfer will concurrently read and transfer up to 200 files (default value) from the source. The batch size can be modified using the -x option, the maximum value is 500.
191
+
192
+
-- Blobs smaller than the block size are transferred in a single operation. With relatively small files (<32MB) performance may be higher if you set a block size equal to the size of the files. Setting the number of workers and readers to the number of files could also, yeild performance gains.
193
+
194
+
## Issues and Feedback
181
195
182
-
- In Linux, BlobPorter reduces the number of readers if the number of open files during the transfer is greater than 1024. Linux restricts the number of files open by a process and since each reader holds a handle to the file to transfer, you can reach this limit if you want transfer multiple files even with a relatively low number of readers. For example, if you have 10 readers and want to transfer more than 102 files you will reach this limit. In this case BlobPorter will issue a warning displaying the new number of readers. If the resulting number of readers impacts performance, consider running multiple instances of BlobPorter with a smaller source list.
196
+
If you have a question or find a bug, open a new issue in this repository. BlobPorter is an OSS project maintained by the contributors.
0 commit comments