Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › bandwidth

Why rclone uploads or downloads are slow—and how to find the bottleneck

By Freedom251 Team · · 14 min read

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A slow rclone job is usually a symptom, not a diagnosis. First establish whether time is being spent on data transfer, file checking and listing, local disk I/O, or mount/VFS reads. Then check for an explicit bandwidth limit, make transfer statistics visible, measure the remote path with rclone test speed when it is safe to create temporary files, and change one concurrency or I/O setting at a time. Rclone documents useful controls, but only your command, backend, hardware and measurements can identify the cause on your machine.

Define what “slow” means before changing a flag

“Rclone is slow” can describe several different waits. A copy may spend most of its time listing directories and comparing metadata before any bytes move. Another job may list quickly but write data slowly to a local disk. A mounted remote can feel sluggish because each application read triggers remote latency, even though a large sequential copy reaches a much higher sustained rate. Treating all three cases as a bandwidth problem leads to the wrong fix.

As an Amazon Associate I earn from qualifying purchases.

Separate the phases of the operation

  • Checking and listing: rclone enumerates files, reads metadata and decides what needs to be copied. A job that appears idle before the first transfer is often limited here.
  • Data movement: the source is read, data is sent or received, and destination files are written. The transfer rate in the statistics identifies this phase.
  • Local storage: a slow source disk, destination disk, filesystem, encryption layer or antivirus scan can hold transfers below the available network rate.
  • Mount/VFS reads: applications issue small or random reads through a mounted remote. Read-ahead, chunk streams and latency matter more than the settings used for a one-time copy.

Record a reproducible baseline

Before tuning, write down the exact command and the conditions under which it ran. Include whether it is an upload or download, the source and destination types, approximate file sizes, file count, and whether the command is copy, sync or a mount/VFS workload. Note whether the low rate occurs during checking or while bytes are actively transferring. Keep the same dataset and direction when comparing runs; changing several conditions at once can make a faster-looking result meaningless.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Also record whether the slowdown is constant or intermittent. A stable ceiling close to a configured rate suggests a limiter. Bursts followed by idle periods can indicate remote throttling, retries, disk flushes or a workload dominated by small files. A high rate for one large file but a low average for thousands of tiny files is a different problem from a low rate in both tests.

#1 Best Overall
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400) | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
  • Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

Use a diagnostic sequence instead of random tuning

The following order removes the simplest explanations first and preserves evidence for the later steps.

1. Check for an explicit bandwidth cap

Rclone’s --bwlimit limiter is expressed in bytes per second, not bits per second. It can use separate upload and download values, and its default is no bandwidth limit. A value that looks like a normal internet speed when read as bits can be eight times lower when interpreted as bytes, so normalize the units before judging it.

Inspect the command line, wrapper scripts, scheduled-task definitions and environment defaults that launch rclone. A limit inherited from a profile can affect a command even when the flag is not visible in the line you normally run. Compare the configured value with the rate printed by rclone in the same units. If the transfer repeatedly levels off at the configured ceiling, remove or raise the cap for a controlled test rather than changing concurrency first.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
rclone copy SOURCE:PATH DEST:PATH --bwlimit RATE

Use a rate appropriate to the direction you are testing. Do not infer that a cap is the only cause merely because the number is visible: a remote or disk bottleneck can produce a lower rate, and an intermittent job may never reach the limit.

2. Make statistics visible and comparable

Rclone’s documented default statistics interval is one minute. Statistics are logged at INFO by default, while the default NOTICE level does not display them unless you request a visible statistics level. For diagnosis, shorten the interval and select a log level that actually prints the samples.

rclone copy SOURCE:PATH DEST:PATH --stats 15s --stats-log-level INFO

The output lets you distinguish an active transfer from a long checking phase. Watch the instantaneous rate, average rate, bytes transferred, files completed, errors and elapsed time together. A short burst is not evidence of sustained performance; wait for several intervals after startup and include any slow tail at the end.

--stats-unit bits changes the displayed rate units to bits. The transferred-volume accounting remains in bytes. When comparing rclone with a router, operating-system monitor or provider dashboard, confirm whether each display uses bits or bytes before concluding that two measurements disagree.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
  • Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

3. Measure the remote path with the built-in speed test

rclone test speed remote: runs a series of uploads and downloads using varying file sizes and file counts, then reports the speed of each test. It creates temporary test files in a randomly named directory on the remote and removes them after a clean exit. Run it only against a remote where creating, transferring and deleting temporary data is acceptable, and use an account with enough space and permission to perform those operations.

rclone test speed remote:

The command was added in rclone version 1.72. If your installed binary does not recognize it, check that binary’s help and version before assuming the remote is at fault. The test is not an internet-speed test: provider file-size limits, small-file overhead and unusually large files can make its duration or results misleading. Read the individual upload and download cases rather than relying on one blended number.

A speed test is useful for separating a remote-path problem from a dataset-specific problem. If both the test and your real job are slow, investigate the backend, route and concurrency. If the test is healthy but the real job is slow, focus on file sizes, checking, local storage, encryption, mount behavior or the command’s specific workload.

4. Identify the constrained stage

Use the observations to choose a branch rather than applying every option at once:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Observed symptom Most relevant stage First action
Rate sits close to a configured ceiling Bandwidth limiting Review --bwlimit and inherited defaults; compare bytes with bits.
Long delay before files begin moving Checking or listing Watch checker activity and test whether checking interferes with local I/O.
Remote speed test and real transfer are both low Remote path or backend response Compare upload versus download, then adjust concurrency cautiously.
Large files are fast but many small files are slow Per-file operations and checking Measure file counts and listing time; do not judge the workload by one large-file rate.
Local disk stays busy while network is underused Source or destination I/O Separate checking from movement and examine write-buffer behavior.
Only a mounted workload feels slow Mount/VFS read behavior Use mount-specific chunk-stream and chunk-size guidance, not copy-only tuning.

Adjust transfer and checker concurrency carefully

Rclone’s documented starting defaults are four parallel file transfers and eight checkers. Those are defaults, not performance promises. More parallel work can fill an otherwise idle link, but it also creates more simultaneous reads, writes, API requests and memory pressure. A backend that reacts slowly may time out or become less productive when flooded.

When to try --transfers

--transfers controls the number of files moved in parallel. If a large, reliable link and responsive remote leave bandwidth unused while each individual transfer is healthy, increasing the value may improve aggregate throughput. Change it in small steps and compare several statistics intervals with the same dataset.

rclone copy SOURCE:PATH DEST:PATH --transfers N --stats 15s --stats-log-level INFO

More transfers are not automatically better. They can compete for local disk seeks, consume memory, increase API pressure and expose backend request limits. If errors, retries or timeouts rise after an increase, return to the previous value or test fewer transfers. A lower setting is often the correct response to a remote that cannot sustain many simultaneous operations.

Rank #3
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
  • Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

When to try --checkers

--checkers controls parallel checking operations. The documented default is eight. Checking can become the bottleneck for large directory trees or metadata-heavy remotes, but more checkers also create more backend requests. For a slow-reacting backend, rclone’s documentation specifically suggests trying four or fewer checkers. Treat that as a diagnostic starting point, not a universal optimum.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
rclone copy SOURCE:PATH DEST:PATH --checkers 4 --stats 15s --stats-log-level INFO

Do not change transfers and checkers simultaneously. If you do, a faster run cannot tell you which stage improved, and a failure cannot tell you which setting caused it. Record the original defaults, test one variable, and keep the rest of the command identical.

Read the result as a trade-off

Change Use it when Potential cost
Increase --transfers Bandwidth is available and individual transfers are healthy but aggregate throughput is low. More disk contention, memory use, API pressure, retries or timeouts.
Decrease --transfers The remote times out, throttles or becomes less responsive under parallel load. Less opportunity to fill a fast link.
Increase --checkers Metadata checking is clearly delaying a transfer and the backend responds promptly. More concurrent metadata requests and backend load.
Decrease --checkers The backend reacts slowly or checking requests time out; four or fewer is a documented experiment. Longer checking phase when the backend could have handled more work.

Separate checking from data movement when local I/O is tight

On an I/O-limited system, checking can compete with transfers for the same disk. Rclone documents --check-first for this situation: it completes the checking phase before starting transfers instead of interleaving the two activities. That can make disk access more predictable, but it may use more memory because the pending work backlog is held before transfers begin.

rclone copy SOURCE:PATH DEST:PATH --check-first --stats 15s --stats-log-level INFO

Use it when statistics or operating-system measurements show that metadata reads and data writes are contending. It is not a general speed switch. On a metadata-heavy job with plenty of memory, delaying transfers until all checks finish can increase the time before the first byte moves, even if total disk contention is lower.

Investigate destination write speed

If the destination disk is visibly the limiting resource, rclone documents --multi-thread-write-buffer-size as an option to experiment with. The setting changes how much write buffering is available for multi-threaded writes; it does not prove that the disk is defective or that replacing it is necessary.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
rclone copy SOURCE:PATH DEST:PATH --multi-thread-write-buffer-size SIZE --stats 15s --stats-log-level INFO

Change the buffer size only after measuring local write behavior. Larger buffers can consume more memory and may simply move the wait from active transfer time to a later flush. Compare sustained throughput, memory use and completion time, not a single high sample.

Handle mount and VFS workloads as a separate case

A mounted remote is not equivalent to a batch copy. An application may request small ranges, seek repeatedly or open many files in a pattern that amplifies round-trip latency. A command-line copy can look fast while the same storage feels slow in an interactive application.

Rank #4
YOTUO 500GB External Hard Drive, Portable Storage Expansion HDD, USB 3.0 & USB-C for PC, Mac, Desktop, Laptop, Smartphone, PS4, Xbox One, Xbox 360, Office & Game Black
  • 【Versatile Storage Expansion – For Gaming, Work & Everyday Use】 Running out of space on your PS5 or Xbox Series X/S? This external hard drive lets you store and play PS4 / Xbox One games directly, instantly freeing up your console’s internal storage for next‑gen titles. At the same time, it handles work file backups, media libraries, and cross‑device data transfers with ease. One drive, all your needs. *(Note: PS5 / Xbox Series X|S games cannot be run or stored directly from the external hard drive. However, by offloading your PS4 / Xbox One games, you can free up valuable space for newer titles.)*
  • 【Patented Silicone Sleeve – Data Protection You Can Count On】 Worried about drops? We’ve got you covered. The patented built‑in silicone sleeve acts like a shock‑absorbing armor, cushioning your drive against bumps and falls. Whether it’s important work documents, precious family photos, or hard‑earned game saves, your data deserves this level of protection.
  • 【Plug & Play, Compatible with Computers & Consoles】 No complicated setup—just plug in and go. Works seamlessly with Windows, Mac, and Linux computers, as well as PS4, PS5, Xbox One, and Xbox Series X/S. Process files at the office, back up data at home, or enjoy gaming in your downtime—one drive handles all your devices, simply and hassle‑free.
  • 【USB 3.0 Ultra‑Fast Transfer – No More Waiting】 Tired of watching progress bars crawl? With USB 3.0 speeds up to 5Gbps, large files transfer in seconds. Whether you’re moving work documents, transferring hundreds of gigs of games, or backing up a year’s worth of photos, you get more done in less time.
  • 【Sleek, Lightweight, and Ready to Go】 Weighing just 0.16 kg—lighter than a can of soda—this compact drive features a stylish mirror‑and‑frosted finish. Toss it in your bag and go, whether you’re heading to the office, visiting a friend for a gaming session, or giving a presentation on the road.

Rclone’s mount documentation discusses read chunk streams and chunk size for high-performance object stores and high-latency links, along with VFS-specific behavior. Use those mount-specific controls when the symptom occurs through a mount. Do not assume that raising --transfers or changing checkers will improve application reads; those flags address different stages and may not govern the mounted read path.

Diagnose a mounted remote

  1. Reproduce the slow action through the mount and note whether it is sequential reading, random access, directory browsing or writing.
  2. Run a comparable direct rclone operation, if the workload permits, to determine whether the backend itself or the VFS access pattern is responsible.
  3. Review chunk-stream and chunk-size settings for the mounted backend, especially on high-latency links or object stores.
  4. Test one mount change at a time and repeat the same application operation; a different file or access pattern is not a controlled comparison.

Use --max-connections only for a demonstrated connection problem

--max-connections limits concurrent backend API calls. It does not map one-to-one to physical network connections, so it is not a generic “make it faster” control. The documentation describes relationships between this limit, transfers and checkers and warns that an unsuitable value can cause deadlocks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Consider it only when the backend or its service limits require a cap, or when you have evidence that the number of concurrent API calls is the failure mode. Change it with transfers and checkers documented, because those settings determine how much work can request the backend at once. If a test with a lower limit avoids hangs but lowers throughput, that is a stability trade-off—not proof that the original job was bandwidth-limited.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Follow symptom-specific troubleshooting branches

The rate is almost exactly a familiar number

First compare the displayed units and inspect --bwlimit plus inherited defaults. A ceiling that matches a configured byte-per-second value points to the limiter. A ceiling that differs substantially requires the next checks: remote speed, disk utilization and errors. Do not raise the limit until you know the remote and local path can handle the additional load.

The job spends minutes checking before transferring

Use visible statistics and note the checking phase separately from transfer time. Reduce checkers if the backend is slow to respond, or test --check-first when local I/O contention is the issue. A metadata-heavy tree may remain slow even with a fast data path because each file still requires listing or comparison work.

Increasing transfers made the job slower

That result is evidence, not a failure of the test. Extra transfers may have saturated the disk, increased API throttling, caused retries or exhausted a backend’s ability to respond promptly. Restore the prior value, verify errors and retries in the statistics, then test a lower value. Keep checker concurrency unchanged while you isolate transfer behavior.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Uploads are slow but downloads are fast

Use the speed test’s separate upload and download cases and check for direction-specific bandwidth limits. If the remote path reproduces the asymmetry, investigate provider-side upload behavior or request limits. If only the real upload is slow, inspect source reads, file-size distribution and local encryption or filesystem overhead before changing remote concurrency.

Best Value
Sale
WD 2TB Elements Portable External Hard Drive for Windows, USB 3.2 Gen 1/USB 3.0 for PC & Mac, Plug and Play Ready - WDBU6Y0020BBK-WESN
  • High capacity in a small enclosure – The small, lightweight design offers up to 6TB* capacity, making WD Elements portable hard drives the ideal companion for consumers on the go.
  • Plug-and-play expandability
  • Vast capacities up to 6TB[1] to store your photos, videos, music, important documents and more
  • SuperSpeed USB 3.2 Gen 1 (5Gbps)

Downloads are slow but uploads are fast

Repeat the same comparison in the opposite direction. Check for a download-specific limiter, destination write contention and mount/VFS read behavior. A fast large-file download test does not rule out a small-file workload dominated by per-file requests and checking.

Only many-small-file jobs are slow

Count files and separate checking time from byte-transfer time. The per-file request and metadata work can dominate even when the available link is fast. Test checker concurrency cautiously, and avoid using a single large-file result as the expected rate for a tree containing thousands of small objects.

The network looks idle while the disk is busy

Measure source and destination activity during the transfer. If checking and writing compete, test --check-first. If destination writes are the constraint, evaluate --multi-thread-write-buffer-size while watching memory. Do not buy hardware or change storage based solely on a low network graph; first establish that the disk remains the limiting stage under a repeatable workload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The command times out after raising concurrency

Return to the documented defaults of four transfers and eight checkers, then change one value downward. For a slow-reacting backend, try four or fewer checkers. Review retries and backend errors, and avoid adding --max-connections unless a connection-count problem is established because that option can create deadlocks when combined poorly with transfers and checkers.

Run controlled before-and-after tests

  1. Freeze the workload. Use the same source, destination, direction, file set and command shape. Record whether the test is a copy, sync or mount operation.
  2. Capture a baseline. Run with visible statistics, for example --stats 15s --stats-log-level INFO, and record sustained rate, elapsed time, errors, retries and the phase where time is spent.
  3. Change one variable. Test the suspected limiter, one transfers value, one checkers value, --check-first, or one write-buffer value—not several together.
  4. Wait for representative samples. Ignore startup spikes and include the slow tail. Small files, retries and final metadata operations can materially change the average.
  5. Compare the same units. Keep rates in bytes or deliberately use --stats-unit bits for every run. Do not compare a bits-per-second dashboard with rclone’s byte-based output without conversion.
  6. Keep the better setting only if it improves the target. A faster average with timeouts, excessive memory or API errors is not a useful production result.

Safety and cleanup considerations for speed tests

The built-in test writes real temporary objects to the selected remote and deletes them after a clean exit. Confirm that the remote permits object creation and deletion, that the account has sufficient space, and that temporary data is acceptable under your retention or auditing rules. Do not run it against a destination where any write or delete is unsafe. If the process is interrupted, verify the remote rather than assuming cleanup completed, because the documented cleanup guarantee applies to a clean exit.

Remember that a speed test is a diagnostic sample, not a promise for every workload. Its varying file sizes and file counts expose different overheads, while your production job may use encryption, filters, checksums, small files, a mounted filesystem or a different direction. Use the test to locate the likely stage, then validate the proposed change with the real command.

A compact decision checklist

  • Have you recorded the exact command, direction, backend types, file sizes and counts?
  • Is the slowdown in checking/listing, active data movement, local storage or a mount/VFS read?
  • Did you inspect --bwlimit and inherited defaults, remembering that values are bytes per second?
  • Are statistics visible at an appropriate interval and log level?
  • Did you compare upload and download behavior with rclone test speed where temporary remote files are acceptable?
  • Are you treating four transfers and eight checkers as starting defaults rather than guaranteed optimum values?
  • When the backend is slow to react, did you test fewer checkers before adding more concurrency?
  • When local I/O is constrained, did you evaluate --check-first and write buffering while watching memory?
  • Is the workload a mount, where chunk streams and chunk size require mount-specific reasoning?
  • Did you avoid using --max-connections as a generic speed knob and account for its deadlock warning?
  • Did you change one setting at a time and retain measurements from both runs?

What the evidence can—and cannot—tell you

Rclone’s documentation establishes what these commands and flags do, along with their defaults and cautions. It cannot identify the root cause on an individual machine without the backend, command, logs, hardware and measurements. A measured bottleneck may be remote responsiveness, request concurrency, local I/O, checking overhead, a configured cap or mount latency; the appropriate remedy depends on which one your controlled test demonstrates.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The reliable method is therefore procedural: classify the slow stage, verify the simplest limit, measure the remote path, expose comparable statistics, and tune the single setting that addresses the observed symptom. Stop when the bottleneck moves or the target workload meets its requirement; more parallelism after that point usually adds risk rather than useful speed.

Quick Recap

Bestseller No. 1
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400) | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400) | Everyday HDD storage. Plug-and-play backup. Windows & macOS. Adobe CC trial included. 1-Year Warranty
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$129.99
Bestseller No. 2
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$219.99
Bestseller No. 3
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
Seagate Portable 1TB External Hard Drive HDD – USB 3.0 for PC, Mac, PlayStation, & Xbox, 1-Year Rescue Service (STGX1000400) , Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$119.80
SaleBestseller No. 5

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

bandwidthcloud storageFile TransfersperformancercloneTroubleshooting

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.