Face it: you love your application. You've spent weeks and months meticulously coding it and you LOVE it, just the way it is. You want to run it in the cloud and you certainly don't want to spend time redesigning it to work with a new cloud database technology or to perform well on the infrastructure of your cloud provider. When it comes to databases, we all know that performance matters. You want your application to run fast, really fast. How fast? How about 229 percent faster? Intrigued? Please read on.
We have been telling you about the progress we have made here in the Rackspace Cloud Databases team to deliver a high performance, high availability alternative for those of you looking to host MySQL databases in the cloud. Last week we also announced that the Rackspace Cloud is now powered by OpenStack, and as part of that, we launched the Early Access Program for Rackspace Cloud Databases. (By the way, it’s online and ready to host your data today. There are no tricks or fine print, so bring your existing MySQL databases into our system as-is!)
During the past few weeks, we have been running initial performance tests on our service and want you to understand how our metrics look, especially when compared to Amazon RDS. Rather than simply telling you how fast we think the service is, we think its best to just show you what we did.
First, let us give you a little bit of background on the test process itself. We used SysBench, which many of you know is a popular tool for evaluating system and database performance for MySQL. SysBench has several test modes, including CPU, threads, memory, File I/O, OLTP, etc. We used the OLTP test mode, which was written to benchmark the performance of a database under transactional loads. The test involved point value queries, ranges, SUM(), ORDER BY, UPDATEs, DELETEs, INSERTs, etc. In other words, it tries to emulate the type of workloads your applications are currently handling.
Second, we tried to create two environments that are as close to each other as possible in Amazon RDS and Rackspace Cloud Databases to make sure we were as close to an apples to apples comparison in our test; putting special emphasis on dedicated system memory and compute power. We selected the Amazon RDS Small with 1.7 GB configuration and our Rackspace Cloud Databases with 2 GB configuration, and verified that in our tests we did not use more than 1.5 GB of memory. We turned binary logging ON for the Rackspace Cloud Databases environment, and selected a ratio of 75 / 25 for the read / write mix in the basic OLTP workload of SysBench. We also attempted to create a production-like environment for Rackspace Cloud Databases, simulating 100 percent CPU contention on the host and simulating disk I/O contention using standard I/O generation tools. We ran the tests for about an hour on each system.
We were pleased but not surprised when we saw that SysBench reported that Rackspace Cloud Databases performed 229 percent faster than Amazon RDS. As we told you from day one, everything we have been doing here has been focused on designing a service specifically for high performance and high availability in the cloud, from the way we virtualize our service to the way we designed the storage for it. See the chart below, where you see RDS with 84.87 transactions per second (tps), and Rackspace Cloud Databases with 279.58 tps.
This is only the beginning. You should expect more performance test results in the near future. In the mean time, sign up for our Early Access Program now.