RAID CONTROLLER RAM 2GB?

LICOMPGUY
LICOMPGUY used Ask the Experts™
on
Just specing out a server, single host to run 4 VMs, Going with a Dell Poweredge Perc h 730p.   with 2 GB of RAM on the controller.  How much does the RAM on the controller really impact performance?  Nothing is tremendously I/O intensive.  Would there be a substantial difference if I could update it to 4GB?

Thanks!
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2014

Commented:
What RAID level do you intend to use?
Dr. KlahnPrincipal Software Engineer

Commented:
The advantage of having cache RAM on a disk controller depends on how repetitive the accesses are.  If there is lots of disk traffic and you are hitting the same blocks in the same databases over and over again the gain will be excellent.  If there is lots of disk traffic but the accesses are distributed across many files and randomly within those files the gain will be small.  If there is little disk traffic there won't be any perceptible gain.

You stated:

Nothing is tremendously I/O intensive.

Since memory is cheap you might as well hang it on the disk controller, but in this environment don't expect to see much of an improvement.  Controller cache's big gain is in I/O intensive applications such as databases.

Don't forget that the host operating system uses unused memory for disk cache.  In a 32 GB system that is not busy 24 GB of that might be used for disk cache.  At some point it makes no sense to have three levels of big disk cache - one on the controller, one in the host operating system and one in the VM.  The same sector might be cached three times, which is just a waste of memory.

Note that if the controller uses memory for write cache, a larger write cache means more lost data on a crash unless (a) the controller has battery backup or (b) the flush interval is set low ... which defeats the purpose of write caching.
David FavorFractional CTO
Distinguished Expert 2018

Commented:
As Dr. Klahn mentioned, the value of larger cache memory is highly dependent on your I/O access pattern.

For highly random, non intensive I/O lower memory is sufficient.

For applications reading massive amounts of contiguous (sequential) data, cache memory may help.
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Commented:
12GB/S 2GB Cache yes, of course, this will increase the i/o performance up to 12GB/per second, but along with the compatible hardware required to get the maximum i/o output .. like 12GBps performance SAS/SSD HDDS .. as well

all the best
Top Expert 2014

Commented:
"Would there be a substantial difference if I could update it to 4GB?"

Since it is not available with 4GB that question is meaningless. The memory is soldered on board, under the cache battery IIRC.
Martyn SpencerSoftware Developer / Linux System Administrator

Commented:
One additional point to consider is that if you are using VMs, most writes will tend to require a sync response to be returned (depending on the hypervisor and the configuration). This confirms that the data has been reliably written to persistent storage. If you have a controller with battery backed RAM (the spec for the one you mention states that it does), and your use-case supports it, having sync writes return almost immediately once the data is committed to the controller's RAM will be significantly more performant than waiting for disk writes to complete. Naturally, if the controller's RAM fills, then sync write performance will drop to what is supported by the underlying disks. You are potentially creating a single point of failure working this way, but for some set-ups, it may be considered acceptable.

As some other experts have said above, VMs, hypervisors and storage systems themselves have caches that are used to help speed up IO. There is a case for suggesting that bringing cacheing closer to where it is actually being used (so using RAM for database buffers, for example) is often better because the service or application itself knows more about usage patterns and likely access more than a controller could ever predict. Disk controller RAM is probably quite expensive GB for GB when compared to standard server ECC RAM, so consider this too. Your money may be better spent on other system components.

Finally, it's worth noting that software RAID may be preferred over hardware RAID. Often, hardware raid is proprietary and if the controller fails, finding a replacement that can read the data may be problematic. Not all RAID controllers handle all of the parity calculations for RAID (where required) and offload it to the CPU so do check the specs of what you plan on using.

Testing any set-up and tuning is likely to be very important in anything more than a simple set-up.

Author

Commented:
Hi Dr. Klahn

Thanks for response

The machine is going to have quite a bit of free RAM.  It is a single host running esxi, Essentials actually.  easily 50-60% of RAM free for growth.
So that being said it sounds like we are good.
Thanks for the feedback!

Author

Commented:
Thanks everyone!

Unless a lot has changed in the last 5-7 years I would not use software RAID.

Thanks!!
Martyn SpencerSoftware Developer / Linux System Administrator

Commented:
WRT software RAID, a lot has changed with CPUs, controllers, and file systems. It also depends on the hypervisor you choose. It's definitely worth reading more about before making a final decision.

All the best.
President
Top Expert 2010
Commented:
the difference will be statistically insignificant on a VMware environment.  that is because the I/O they hypervisor is going to be doing is ultimately going to be large block random.    A large amount of cache won't add value to this type of workload.  The type of RAID won't matter.

(All writes will be flushed to disk as well, so there will be no cache, no pre-fetch based on usage patterns).
Top Expert 2014

Commented:
Software RAID is expensive under ESXi since you need a vSAN, although StarWind vSAN is free.

Author

Commented:
Guys - awesome info - thanks for confirming things for me!
David FavorFractional CTO
Distinguished Expert 2018

Commented:
As Martyn implied, if high performance I/O is required, best to stick with a non VM partitioning mechanism like LXD, where I/O runs at hardware speed, rather than going through a very slow, VM layer.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial