Recommend a CPU for me

Status
Not open for further replies.

Hexland

Contributor
Joined
Jan 17, 2012
Messages
110
I'm currently running FreeNAS on an HP Microserver N40L, but I'm not happy with the performance -- So I've decided to build a system that should keep me running for the next couple of years.

The server is purely for home, and serves Photos, Videos (HD Rips, and SD TV), Project Archive (99.99% static data), and miscellaneous file storage.

I basically want a CPU with enough grunt to do Raid-Z2 or potentially Z3, but with as low a power profile as possible. It will run 24/7 - but be idle for the majority of the time.

I need a CPU that can handle streaming multiple HD streams (XBMC to different rooms in the house) as well as handling backups (via both TimeMachine and CIFS) from a ZFS-Raid-Z2 and/or Z3 dataset.

I may also have to have FreeNAS installed on top of ESXi Server (in order to support a Windows or Linux install, so I can run Crashplan for my cloud backup) -- So the CPU needs to be able to support virtualization at a hardware level.

I may also decide to run some real time media transcoding for web streaming my DVD collection to my phone (or office) :)

So, after all that -- I need some recommendations for a capable, future proof CPU that can handle the load of multiple ZFS-Z2 or Z3 streams, but with as low a power profile as possible.

Any ideas?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
The problems with ZFS RAIDZ2 don't seem to be a result of the CPU; I've seen strange stuff on Xeon E3-1230's with 32GB of RAM under similar hard disk configurations to our N36L here, and that's certainly not a resource-starved scenario. It seems more like RAIDZ2 and 4 drives is some sort of particularly ill-fitting combination for performance. The same hardware with certain other disk configurations (often with tuning tweaks) seems to perform much better. As a result, I would suggest that you might want to consider a different disk configuration rather than a different CPU. A different CPU might get you somewhat better performance than the N40L under your current (or desired) config, but I'm guessing you can get substantially better performance out of the N40L by just mirroring disks instead of using RAIDZ2.

Don't let me discourage you from building a different system, I just want to make sure your results are not disappointing. If you do build a different system, consider using more drives. What I've seen kind of suggests that a six-drive RAIDZ2 may address performance issues.
 

Hexland

Contributor
Joined
Jan 17, 2012
Messages
110
Unfortunately, it is a 6 disk configuration (4 through the main chassis, and two additional mounted in the CD-ROM bay with a pair of X-Wing brackets).
All 6 drives are 2Tb WD Green and are connected to an IBM M1015 in IT Mode (I was attempting to address the 'ZFS Breathing' that I was experiencing using the integrated controller).
The N40L is also maxed out at 8Gb RAM.

Part of the performance issue may be that the whole 7.1Tb of usable space is configured as a iSCSI target - something else I want to address in the new configuration.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
The so-called "ZFS breathing" thing is best addressed via tuning; I don't think there's ever been any indication that this is related to the controller, except possibly that if your controller is a bottleneck, then that's going to make it worse, because the breathing thing is intertwined with ZFS trying to push transaction group data out to disk, and basically overenthusiastically collecting far too much stuff, which means that the system gets hung up waiting for writes to flush. More memory can actually make this significantly worse, because ZFS will default to larger transaction groups. I've seen multi-MINUTE stalls in setups with an E3-1230, 32GB, RAIDZ2 on four mid-2000's drives, and a simple dd.

So the point you should walk away with is that this isn't necessarily a CPU problem. Your N40L is almost certainly sufficient as a fileserver, but the question is, how aggressively does it have to be tuned to be bearable? Or are there other changes you can make? For example, getting rid of RAIDZ2 was generally very helpful in substantially increasing performance. Is there a different way that you can arrange for data redundancy?
 
Status
Not open for further replies.
Top