Transfers, Checkers, and Fast List
Rclone performance is controlled by how many transfer workers run and how metadata checks are parallelized.
Key Flags
| Flag | Default intent |
|---|---|
--transfers | Number of concurrent file transfers |
--checkers | Parallel metadata/check workers |
--fast-list | Use recursive listing where backend supports it |
Mapping
Baseline Pattern
baseline-perf.sh
rclone sync /srv/data remote-prod:backup/data \
--transfers 8 \
--checkers 16 \
--fast-list \
--progress
Tuning Guidance
| Workload | Suggested --transfers | Suggested --checkers |
|---|---|---|
| Many small files | 16-32 | 32-64 |
| Mixed workload | 8-16 | 16-32 |
| Very large files | 4-8 | 8-16 |
note
Higher values are not always better. If provider APIs throttle you, reduce concurrency first.
Quick Benchmark Loop
for t in 4 8 16; do
rclone copy /srv/data remote-prod:test-$t --transfers $t --checkers $((t*2)) --fast-list --stats 15s
done
Common Pitfalls
| Pitfall | Effect | Prevention |
|---|---|---|
| Maxing concurrency blindly | API throttling and retries | Increase gradually and measure |
| Ignoring listing cost | Slow startup on deep trees | Use --fast-list where supported |
| No stats/log capture | Hard to compare runs | Enable --stats and log file |