This post covers a beneficial use case for RAM Acceleration (Read Caching). Please consider this post on RAM Acceleration only covers reads and only accelerates data that has already been previously loaded aka warm data.
I’ve struggled for a while to justify why someone would want to allocate precious server RAM to a cache instead of to a VM that would dynamically load and unload the data as and when needed anyway. I’ve seen arguments regarding read latency from storage but again with an increase in RAM to a VM the relevant data is already in the VM anyway. I’ve always felt that this has been a gamble for people who don’t know where their I/O is being generated from or with dramatically fluctuating workloads but I finally found a worthwhile usage that gave me dramatic real world results. RAM restricted workloads, most commonly found in older OS’s that have been deployed as 32-bit for example.
I have a database on a 32bit OS, I’m intending to retire that VM within a year to a newer 64-bit OS however in the meantime I have a 2GB RAM limitation to a 30GB database. The solution? PernixData‘s FVP Freedom RAM Acceleration. Without spending an extra penny I allocated 40GB of RAM to my VM for disk caching (enough to cover the database, logs and other commonly accessed files). Instantly I/O performance shot changed dramatically and rather than having my performance graphs just looking more impressive I got a noticeable positive feedback.
In one day 1 Million IOPS were saved through caching and VM latency was around 2-4ms. an amazing result.
I definitely recommend this product and when the time is right, chuck some SSD’s into your server and use them for write caching as well, performance will be greatly accelerated!