Some Redis Performance Tests on Rackspace Cloud Servers

I wanted to check redis performance on the Rackspacecloud for some of my own stuff.  Here are the test results.

I just built a 1GB RackspaceCloud server and got:

SET:
32055.45 requests per second
GET:
30861.77 requests per second
Then I resized it to 16GB just for grins and got:
SET:
33893.93 requests per second
GET:
30865.43 requests per second
In all tests I used redis 2.0.3 built just for the test, run as a daemon, and bound to localhost.
Results probably CPU bound.  No performance benefit to running larger instance other than more memory.
Funny bit is that I ran the same tests on my MPB for grins as well.  I got the following with all kinds of other programs running at the same time:
SET:
57020.53 requests per second
GET:
58411.21 requests per second

 

So, more than likely we are seeing the results of the way rackspacecloud allocates CPU across instance sizes being relatively flat and non-weighted relative to instance size.  This is fine really.  But, it's good to know.  If you buy more memory, you get more memory.  Period.  Everyone seems to get about the same CPU share regardless of memory commitment per hour.  

This performance profile is not the same for every cloud IaaS resource by any means!  So, the point to make is that you really need to test for YOUR workload and make sure you meet the goals you have.  It always comes down to testing for what you need for your application and choosing the right resources for the right job.  It also pays to consider operational complexity and manageability in your calculations when picking your resources.

I found similar tests here as well on EC2.  So, they are worth a look for comparison:

http://michalf.me/blog:redis-performance