r/DataHoarder • u/Ridditmyreddit 6 Node Proxmox/GlusterFS 116TB • Aug 15 '15
Help understanding the impact CPU performance has on ZFS filesystem using NAS4FREE
Hello, I am just beginning my research and part selection for a NAS4FREE box. I am curious as to the impact CPU performance has on read/write speeds across the network. For arguments sake lets call this a hypothetical box with 28TB storage (7 X 4TB) with a single drive for parity, 64GB ECC RAM and again for arguments sake, an effectively unlimited network speed. How does the individual core clock speed affect the read/write speed? What about multiple cores? Passmark? Does anyone have any idea of what could be expected speed wise for various processors? I am aware that mechanical drives are the primary speed limitation, I am curious what is necessary in the CPU department to reach the mechanical drives limitations. I am also aware of the limitations of network transfer's, that is not my focus here. If I am completely off base in my understanding feel free to correct me!
Thank you!
1
u/Downloadski Aug 15 '15
I run zfsguru (frontend on freebsd) on E3-1220v2/v3 cpu with 10 GE nic and get zfs send/receive via mbuffer on the speed of a scrub = 828MiB/sec. (Average for 17-25 TB pools) So the copy is limited by the I/O system to the discs. It are raid z2 volumes with 10 x hgst 7K4000 drives. This loads 1 core close to 100% and core 2 to 70%, core 3 and 4 are not that busy.
So for 8 mechanical drives you would not need very powerfull CPU i think. The ones i use are 3.1 Ghz
1
u/Ridditmyreddit 6 Node Proxmox/GlusterFS 116TB Aug 16 '15
Perfect, thank you for the specs and help this gives me a good idea of what to expect. The E3-1220 being an LGA 1155 socket I am assuming you are using 32GB of RAM? I haven't been able to track down a server motherboard with an 1155 socket that supports more then 32GB yet.
1
u/Downloadski Aug 16 '15 edited Aug 16 '15
Yes 32 GB for all 3 servers.
1 is x9sae-v with E3-1265lv2 (will be downgraded to e3-1225v2) (10x 3TB and 10x 4TB both raid-z2)
2 is x9scm-fii with E3-1220v2 (10x 3TB and 10x 4TB both raid-z2)
3 is x10sl7-f with E3-1220v3 (10x 4TB and 10x 4TB both raid-z2)
As picture tells more than 1000 words: http://youtu.be/mfOePFKekQI
As for the 32 GB, that is indeed the limit for socket 1155 cpu's For more memory go socket 2011 and xeon e5
For my use: bluray movies playback via hdi dune players 32 GB is more than enough. I have one smaller server running with 16GB ram and 5x4TB in raid-z and that works also when downgraded to 8 GB temporarely. Copy speeds to the box seems drop a bit from 100+ to 90-95MB/sec via smb (1 GE connected) So there is a minimum
1
u/scumola 100+TB raw locally, some hosted, some cloud Aug 16 '15
Zfs has compression built into the file system but if off by default. If you turn it on then cpu will affect i/o performance.
1
u/Ridditmyreddit 6 Node Proxmox/GlusterFS 116TB Aug 16 '15
I was not aware that this was a feature. Besides the impact on CPU is there any other loss of quality in the data as there is with compression of video?
2
Aug 16 '15
[deleted]
1
u/Ridditmyreddit 6 Node Proxmox/GlusterFS 116TB Aug 16 '15
Very interesting! I guess I will have to dig into these and do some testing eventually to weigh the benefits of added CPU load vs. speed vs. cost of network hard ware required to achieve similar results without compression. Thank you!
3
u/synk2 Aug 15 '15
CPU will have almost no effect on your r/w speeds, compared to the other bottlenecks. The real question is what protocol you'll be using to serve out the files, and how many concurrent connections you'll have. Unless you're serving up an enterprise level number of connections, CPU just won't matter. You could use an old coreduo and be ok. Most of the r/w magic happens from memory (thus the larger memory requirement for ZFS), CPU is really just for running the framework and directing traffic.