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.
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.
@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.