10x reduced read performance after extended use of raidz1

Geron

Cadet
Joined
Aug 9, 2020
Messages
1
I have a freenas system with 2 pools, a 4x 3TB RaidZ pool1, and a 2x8x 8TB RaidZ2 pool2. (exact specs at bottom of post)
On a virtual debian machine I have 2 NFS shares mounted. My use case is that I download torrents to pool1, and once finished manually copy the finished download to pool2.

I have always noticed some inconsistencies in the copy speed from pool1 to pool2. But last week I've gained some more insight. When not having downloaded/used pool1 for a while, I have copy speeds of just over 200MB/s. However after 10 hours of intense downloading to pool1 (download speeds max 20MB/s) and copying directly after I copy at 25MB/s.

I'm fairly certain that the read performance on the pool1 is the bottleneck, as reporting shows disk busy as 80-100% for pool1, as opposed to 5% for pool2. I have several theories that are either not plausible, or I would have no idea how to confirm them. So what is wrong?

Things I checked:
1. SMR drives: However as they are WD30EFRX-68E, they should be CMR
2. CPU utilization: below 10%, mean of 7%
3. Fragmentation due to downloading multiple files at a time instead of a single torrent: no idea how to confirm. Does defragmentation work well for network shares and ZFS?
4. Some background task from freenas/zfs, but it's not scrubbing, so doesn't seem likely to me either.

Motherboard: Supermicro X10SDV-7TP4F
CPU: Xeon D-1518
RAM: 64GB
Pool1:
1 vdef - RaidZ1: 4x WD30EFRX-68E
Pool2:
2 vdevs - RaidZ2: 8x WD80EZAZ-11T
Drives connected using on board sas controller with a backplane
Networking uses the onboard 10GbE port, (switch and virtual debian machine also on 10GbE)
 
Top