1# Parallel transfers
2
3curl 7.66.0 introduces support for doing multiple transfers simultaneously; in
4parallel.
5
6## -Z, --parallel
7
8When this command line option is used, curl will perform the transfers given
9to it at the same time. It will do up to `--parallel-max` concurrent
10transfers, with a default value of 50.
11
12## Progress meter
13
14The progress meter that is displayed when doing parallel transfers is
15completely different than the regular one used for each single transfer.
16
17  It shows:
18
19 o percent download (if known, which means *all* transfers need to have a
20   known size)
21 o percent upload (if known, with the same caveat as for download)
22 o total amount of downloaded data
23 o total amount of uploaded data
24 o number of transfers to perform
25 o number of concurrent transfers being transferred right now
26 o number of transfers queued up waiting to start
27 o total time all transfers are expected to take (if sizes are known)
28 o current time the transfers have spent so far
29 o estimated time left (if sizes are known)
30 o current transfer speed (the faster of UL/DL speeds measured over the last
31   few seconds)
32
33Example:
34
35    DL% UL%  Dled  Uled  Xfers  Live   Qd Total     Current  Left    Speed
36    72  --  37.9G     0   101    30    23  0:00:55  0:00:34  0:00:22 2752M
37
38## Behavior differences
39
40Connections are shared fine between different easy handles, but the
41"authentication contexts" are not. So for example doing HTTP Digest auth with
42one handle for a particular transfer and then continue on with another handle
43that reuses the same connection, the second handle can't send the necessary
44Authorization header at once since the context is only kept in the original
45easy handle.
46
47To fix this, the authorization state could be made possible to share with the
48share API as well, as a context per origin + path (realm?) basically.
49
50Visible in test 153, 1412 and more.
51
52## Feedback!
53
54This is early days for parallel transfer support. Keep your eyes open for
55unintended side effects or downright bugs.
56
57Tell us what you think and how you think we could improve this feature!
58
59