Estimate how long a file takes to upload.
Uploading differs from downloading in two respects that this accounts for. First, most consumer connections are asymmetric, with upstream a fraction of downstream, and the upstream path also carries the acknowledgements for everything you are downloading — which is why a saturated upload makes an entire connection feel broken. Around 88% of the rated upstream is a realistic ceiling. Second, file count matters as much as total size. Every file costs a request, a response, authentication and metadata, typically a third of a second against cloud storage, so ten thousand small files can spend more time on handshakes than on payload. That is precisely why archiving a directory into a single file before uploading is often dramatically faster despite adding a compression step.
Upload time with per-file overhead
Transfer seconds = size in GB x 8,000 / (upload Mbps x 0.88); overhead seconds = file count x per-file overhead; total = transfer + overhead
Because per-file overhead dominates. At 0.35 s each, ten thousand files spend nearly an hour on handshakes regardless of size — the overhead share figure here shows exactly how much of your wait is that rather than data.
Usually yes for large numbers of small files, since it collapses thousands of round trips into one transfer. It rarely helps for a handful of large media files, which are already compressed and incur negligible per-file cost.
A saturated upstream delays the acknowledgements your downloads depend on, so browsing collapses even though download capacity is idle. Rate-limiting the upload to about 85% of capacity, or enabling smart queue management on the router, fixes it.