Rsync slows down during transfer of many files

Ubuntu Version

Ubuntu 26.04 LTS

Desktop Environment (if applicable)

GNOME

Problem Description

rsync is slowing down during transfer of a large number of files.

I am using rsync to copy my Linux system from a 1TB nvme drive to a 480GB USB3 SATA SSD. It’s about 140GB of data. Speeds should be very high, but they slow down after the first 10 GB or so. The first 10GB of the current rsync was around 300MB/s. Now its copied around 100GB and the speed is only 17MB/s.

Relevant System Information

Gigabyte Z690 UD AX DDR mainboard with a 12gen Intel i9-12900K and 32gig of DDR4 RAM. nvme is a 1TB Samsung 980 Pro. SATA SSD is a 480GB Patriot Burst Elite connected via USB 3.

Both drives are using the ext4 filesystem.

rsync is version 3.4.1

This is the rsync command that I used:

sudo rsync \  
    --archive \ 
    --hard-links \ 
    --acls \ 
    --xattrs \ 
    --numeric-ids \ 
    --one-file-system \ 
    --info=progress2 \ 
    --preallocate \ 
    --whole-file \ 
    --no-i-r \ 
    --exclude='/dev/*' \ 
    --exclude='/proc/*' \ 
    --exclude='/sys/*' \ 
    --exclude='/run/*' \ 
    --exclude='/tmp/*' \ 
    --exclude='/mnt/*' \ 
    --exclude='/media/*' \ 
    --exclude='/lost+found' \ 
    / /run/media/steve/backups/2026-09-12

What I’ve Tried

I haven’t tried much. I need to let the current transfer finish. Even then it will be slow to test since a lot of data needs to transfer for the issue to occur.

Educated guess - the first 10G go into RAM cache until it fills up and then you start seeing the actual disk transfer speed.

Try mounting with the sync option - does the behavior change?

I will try with the sync option, but I don’t think it will make a difference…

I just used dd to write a 40GB file to the USB hard drive…

dd if=/dev/zero of=/run/media/steve/backups/tmp/testfile bs=1M count=40000 oflag=direct
40000+0 records in
40000+0 records out
41943040000 bytes (42 GB, 39 GiB) copied, 3422.06 s, 12 MB/s

…12MB/s is pretty slow.

I’m going to shut down for the night and do some more work on this tomorrow. Hopefully it fixes itself.

@cal-ab
Your dd oflag=direct test shows the real issue - this is the physical write performance of your Patriot Burst Elite.

I checked the hardware specs for this drive: the 480GB Burst Elite is a budget DRAM-less SSD using slow QLC NAND flash.
The first 10 GB went into its small “pseudo-SLC” cache at full speed, and once that cache filled up, sustained write speed dropped to the raw QLC speed of 12-18 MB/s. It will not fix itself because this is normal hardware behavior!

Do not use mount -o sync - it will drop speeds to KB/s on small files. Let the initial 140 GB transfer finish. Future incremental rsync runs will only copy changed files and will finish quickly.

4 Likes

Your dd oflag=direct test shows the real issue - this is the physical write performance of your Patriot Burst Elite.

Thank you!

I haven’t used this drive for transferring files before. It was a system disk in an older system and it ran well there.

It’s not my usual backup drive. I’m only using it to do some testing. This explanation works for me.

2 Likes

This topic was automatically closed 18 hours after the last reply. New replies are no longer allowed.