When I interviewed for my job here, I remember asking Peter, our VP of Product Management, “Why can’t someone else do this? Why isn’t this already a product?” His answer was that other people had created servers-side caches. I knew that (of course) but before I could dive deeper into how Infinio was different, the conversation meandered into who the competition was.
But this has nagged at me since then — how is it possible that we can take just a small amount of RAM already resident in a server, and improve the performance of an application just by adding our software?
- Aren’t we taking that memory away from some workload that needs it?
- Couldn’t an application-specific cache be more effective in using the same space?
The answer to both of those questions is “no.”
A recent lab test makes this point even more strongly. We’re pretty picky about our performance testing here, so we asked OpenBench Labs to run several tests measuring the performance impact of Infinio on enterprise applications.
One of the workloads they tested was SQL, using the TPC-E benchmark. This benchmark simulates a database executing financial trades and is generally accepted as a realistic simulation of typical OLTP workloads.
Here is a graph of the results:
TPC-E average transaction latency (source: OpenBench Labs)
First, look at the red line and compare it to the blue line. That’s the same hardware configuration, red running without Infinio, and blue running with Infinio. Infinio takes memory and uses it in a more effective way.
- With latency held constant at 20ms, Infinio enables 30% more transactions.
- WIth the transaction rate constant at 100, latency drops by 5X.
Now, look at the yellow and green lines. Those represent the same workload without Infinio, and with more RAM, increasing the native SQL cache to see how that can improve performance. The yellow line shows the results of 4GB more RAM and the green line shows the results of 8GB more RAM.
As you can see, even with double the amount of RAM that Infinio uses, the native caching within the application (SQL) can’t achieve the same performance benefits.
I find this pretty remarkable. I can understand how the server-side caches that use added SSDs can improve performance, but that we do it without adding any hardware still awes me.
Sheryl is Director of Product Marketing at Infinio