Worth upgrading CPU?

Absestos

Cadet
Joined
Feb 4, 2021
Messages
6
I run FreeNAS on the following:
Usage is light: pure storage appliance for large media files (pool has 2% fragmentation even though it's 90% filled) for 1/2 concurrent users, gigabit ethernet only.

In spite of the crappy hardware, it works well enough: speeds are usually capped by the network.

Except when scrubs are running. Then the system slows to a crawl and file operations fail randomly, meaning I cannot really use the system for the duration. Running htop during scrubs shows CPU usage at 100% for all four cores, so it's pretty obvious I am CPU bound. What surprises me is that scrubs would interfere to such extent, since they are supposed to be run as lower priority tasks than normal IO.

Would upgrading CPU solve this particular issue?

Also, would it help scrubs go faster? As far as I understand RAID-Z scrubs should run at the combined throughput of the member drives, so I'd hope to see 1.2GB/s or more, which would allow me to scrub in one day instead of the two I currently need.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700
even though it's 90% filled
There's your problem... ZFS will progressively struggle as it needs to find more blocks from a reducing set of contiguous ones. Don't expect anything to go well with a pool that full. Over 80% is considered too much.

Evidently with scrub consuming 100% CPU, a CPU boost would improve something... not clear to what extent with the same chipset and PCI architecture though.
 

Absestos

Cadet
Joined
Feb 4, 2021
Messages
6
There's your problem... ZFS will progressively struggle as it needs to find more blocks from a reducing set of contiguous ones...

How is that an issue for a scrub, a read only workout? As for chipset and other, my board has the CPU soldered in, so upgrading would mean swapping CPU/Mobo and likely RAM too. Was looking at something like the C3758D4I-4L - would that be a big step up?
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
So the 90% pool full will definitely slow your write operations down and FreeNAS/TrueNAS shifts into a different write optimization mode when 90% or above as I recall.

So you have approx 43TB of data (rough guess) and that takes considerable time to scrub. You might be able to change the priority of the scrub using vfs.zfs.scrub_limit (look up how to use it).

With all that said, more RAM and a faster CPU would help your performance and it should make a scrub complete a little faster but do not expect to scrub in a single night, you have a lot of data.

How is that an issue for a scrub, a read only workout?
You encrypted your drives and if you are using your system it will write data, especially if you are using your SWAP space, things slow down considerably. There are a lot of factors and these are just the obvious ones to me, there are others I'm sure.
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134

Z80user

Cadet
Joined
Jun 13, 2020
Messages
6
scrubs on zfs I think allways will take a lot of time as allways will need to read all of the disk and write some data

with allmost all of the setting "out of the box" on my system this are the last
Status: SUCCESSStart Time: 2021-02-04 12:00:01Finished Time: 2021-02-04 13:25:59
Status: SUCCESSStart Time: 2021-02-04 14:00:01Finished Time: 2021-02-04 15:25:55
Status: RUNNINGStart Time: 2021-02-04 16:00:01

my system is a core2quad Q6600 with 8GB and that process take between 8 and 20% of the CPU
the pool have actually this DISKs
FUJITSU MHV2100BH, SAMSUNG SP2504C, FB160C4081, FUJITSU MHW2120BH, ST325082 0AS,
FUJITSU MJA2160BH G2, SanDisk Ultra (58.28 GiB and this isn't the boot drive)

all of that disks on a DEGRADED pool of 8 Disks on RAIDZ-2 (yes with 7 Disks of 8 disks) some of them report show numbers on the "checksum" (2, 3, 6, 6, 12 and 12) colum, another one show on the read (205 errors) but no errors on any other colum (...not sure why)

Even on that crappy server the CPU load isn't too bad, btw used space 86%... the average load for the CPU on the last day is 8.82%, don't show data of more days

LZ4 I will say only will take CPU when you read the data from the disk to outside

GELI encryption
GELI encryption will create a HUGE bottleneck, maybe the bulldozer architecture isn't fully suported on FreeBSD or don't help with that part on the encription and all mush be done by software... the SWAP partition allways will be a pain (with and without encription) , if you upgrade it the new cpus will help with that encription... check it just after you reboot the system when the free ram will remove that limitation, I have 1.1GiB of ram free while the scrubs proccess still working... take this as a reference

NOTE: I check all of the disks with badblock and all give 0 errors, I know are useles disks with useless data, I think surely the worst HDDs than I own, but it work. and I like to try things in a diferent way to can understand the ZFS better, maybe something than no one else will do, so don't be focus on that
EDIT I have 1 task for every 10 minutes to do a scrubs job on the pool, so, the complete task take between 1:50 and 2 hours of time to finnish
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
One other thing, your LAN is RealTek and as I recall (someone correct me) that NIC uses the CPU for the work vice an Intel in which the chipset does the work, so this LAN you have puts added strain on your CPU.

Your CPU does support AES but I'm not sure how well.
 
Top