First, it sounds like you don’t understand how filesystems /copying works. I just moved a 286GB Plex metadata folder from one SSD array to another in around an hour, but that’s high performance SSDs, but it also fluctuated wildly, so lets look at what is in the metadata folder.
You’ve got a few large multi MB files, usually the plex .db files. these are probably 100+ MB.
You’ve got tiny xml files, these might be 100-500 bytes
and You’ve got images, .jpg files, around 20-50KB
If we use a car/highway analogy, imagine you have to drive 1 mile on a highway, but you have two choices. one is to get in a car and just drive the 1 Mile, the other is you’ve got 30 cars spaced evenly apart, but you have to get in one, drive a short distance, get out, get in the next car, drive a short distance, get out, etc. Which do you think will go faster?
Just because you have a drive that can read/write at 100+MB/s, doesn’t mean it will. Tiny files go slow, large files go fast. The more tiny files you have the slower it goes. If you do an rsync with --progress, you can see this. Large files will go into the MB/s speed, tiny files operate at single digit KB/s. The metadata folder has thousands of TINY files, so it slows down. When it gets to a folder with larger files, it speeds up. You have to perform 3 actions on every file: Open, Read, Close. The more files you hve the more operations you have to do. make sense?
I had to move over a billion files once between two NFS filers in our datacenter, and these files were less than 50KB each. Even over a 10Gbps network, after 6 months of 24x7 copying I wasn’t even half done. Tiny files will never transfer at 10Gbps, only large files will.
Hope that helps, considering you didn’t provide ANY information about your drives or system, my guess though is you have a regular spinning hard drive, which is goin to have terrible IOPS numbers.