Xeround eu-west-1a from Rackspace UK

I love the idea of Xeround‘s offering. A fully managed, scalable, pay for what you use, MySQL compatible cloud based database. It’s a great pitch. Zero configuration, massive concurrency, and totally compatible with Magento.

Xeround launched on Rackspace in the US with plans, but no date, to launch in the UK. Their only current EU Presence is Amazon’s eu-west-1a region. I ran some benchmarks to compare performance between a Rackspace cloud server running MySQL and Xeround in Ireland. The ping times tell the story.

ping -c4 ec2-46-137-176-72.eu-west-1.compute.amazonaws.com
PING ec2-46-137-176-72.eu-west-1.compute.amazonaws.com (46.137.176.72) 56(84) bytes of data.
64 bytes from ec2-46-137-176-72.eu-west-1.compute.amazonaws.com (46.137.176.72): icmp_req=1 ttl=50 time=19.1 ms
64 bytes from ec2-46-137-176-72.eu-west-1.compute.amazonaws.com (46.137.176.72): icmp_req=2 ttl=50 time=18.7 ms
64 bytes from ec2-46-137-176-72.eu-west-1.compute.amazonaws.com (46.137.176.72): icmp_req=3 ttl=50 time=18.7 ms
64 bytes from ec2-46-137-176-72.eu-west-1.compute.amazonaws.com (46.137.176.72): icmp_req=4 ttl=50 time=18.6 ms
--- ec2-46-137-176-72.eu-west-1.compute.amazonaws.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 18.657/18.835/19.153/0.233 ms

ping -c4 ec2-46-137-74-79.eu-west-1.compute.amazonaws.com
PING ec2-46-137-74-79.eu-west-1.compute.amazonaws.com (46.137.74.79) 56(84) bytes of data.
64 bytes from ec2-46-137-74-79.eu-west-1.compute.amazonaws.com (46.137.74.79): icmp_req=1 ttl=53 time=16.1 ms
64 bytes from ec2-46-137-74-79.eu-west-1.compute.amazonaws.com (46.137.74.79): icmp_req=2 ttl=53 time=16.2 ms
64 bytes from ec2-46-137-74-79.eu-west-1.compute.amazonaws.com (46.137.74.79): icmp_req=3 ttl=53 time=16.2 ms
64 bytes from ec2-46-137-74-79.eu-west-1.compute.amazonaws.com (46.137.74.79): icmp_req=4 ttl=53 time=16.1 ms
--- ec2-46-137-74-79.eu-west-1.compute.amazonaws.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 16.161/16.200/16.238/0.130 ms

ping -c4 ec2-46-137-175-244.eu-west-1.compute.amazonaws.com
PING ec2-46-137-175-244.eu-west-1.compute.amazonaws.com (46.137.175.244) 56(84) bytes of data.
64 bytes from ec2-46-137-175-244.eu-west-1.compute.amazonaws.com (46.137.175.244): icmp_req=1 ttl=53 time=12.5 ms
64 bytes from ec2-46-137-175-244.eu-west-1.compute.amazonaws.com (46.137.175.244): icmp_req=2 ttl=53 time=12.3 ms
64 bytes from ec2-46-137-175-244.eu-west-1.compute.amazonaws.com (46.137.175.244): icmp_req=3 ttl=53 time=12.4 ms
64 bytes from ec2-46-137-175-244.eu-west-1.compute.amazonaws.com (46.137.175.244): icmp_req=4 ttl=53 time=12.3 ms
--- ec2-46-137-175-244.eu-west-1.compute.amazonaws.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 12.365/12.432/12.586/0.143 ms

ping -c4 31-222-141-238.static.cloud-ips.co.uk
PING 31-222-141-238.static.cloud-ips.co.uk (31.222.141.238) 56(84) bytes of data.
64 bytes from 31-222-141-238.static.cloud-ips.co.uk (31.222.141.238): icmp_req=1 ttl=64 time=0.317 ms
64 bytes from 31-222-141-238.static.cloud-ips.co.uk (31.222.141.238): icmp_req=2 ttl=64 time=0.307 ms
64 bytes from 31-222-141-238.static.cloud-ips.co.uk (31.222.141.238): icmp_req=3 ttl=64 time=0.300 ms
64 bytes from 31-222-141-238.static.cloud-ips.co.uk (31.222.141.238): icmp_req=4 ttl=64 time=0.320 ms
--- 31-222-141-238.static.cloud-ips.co.uk ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.300/0.311/0.320/0.008 ms

ping -c4 10.177.6.181
PING 10.177.6.181 (10.177.6.181) 56(84) bytes of data.
64 bytes from 10.177.6.181: icmp_req=1 ttl=64 time=0.340 ms
64 bytes from 10.177.6.181: icmp_req=2 ttl=64 time=0.308 ms
64 bytes from 10.177.6.181: icmp_req=3 ttl=64 time=0.333 ms
64 bytes from 10.177.6.181: icmp_req=4 ttl=64 time=0.330 ms
--- 10.177.6.181 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.308/0.327/0.340/0.025 ms

Pretty pictures

The ping times actually tell the whole story, but before I tried that I ran the example dbench config, and it produced pretty pictures, which I’ll share now. The important thing to look at in these graphs is the scale along the left hand side. I ran tests on the internal and public IPs of the Rackspace cloud server and the three IPs made available for xeround.

ec2-46-137-74-79.eu-west-1.compute.amazonaws.com

ec2-46-137-175-244.eu-west-1.compute.amazonaws.com

ec2-46-137-176-72.eu-west-1.compute.amazonaws.com

31-222-141-238.static.cloud-ips.co.uk

10.177.6.181

Conclusion

Maybe it was a crazy idea from the beginning, but I think it was worth the couple of hours I put into testing the theory. When Xeround launch on Rackspace UK, I’ll be interested to compare it against our own MySQL server. Unfortunately, for the time being, it’s a non starter.

I did find it interesting that there was a noticeable difference between the different IPs to connect to xeround. I’m not sure what the cause of that is. It might simply be that the connection is unpredictable because it’s going across networks. Another reason to keep our database and web servers in the same place.

Benchmark details

I have no benchmarking experience, so my approach was quite primitive. I commissioned two Rackspace cloud servers. One to run the test with 512MB memory (benchie), one to host MySQL with 1024MB (benchdb). I downloaded dbench, installed php5-cli and php5-gd (for the pretty pics!) and then set up the example/config.php to connect to xeround and let it rip.

While that was running, I installed mysql-server on benchdb. I changed the bind_address to 0.0.0.0 in my.cnf so MySQL would listen on all IPs. Other than that, I made no config changes from the default.

benchie was the Rackspace Ubuntu 11.04 image, benchdb the Ubuntu 10.04 LTS. I ran apt-get update / upgrade, created a new user, and otherwise left the machines stock.

Advertisements

4 thoughts on “Xeround eu-west-1a from Rackspace UK”

  1. Hi Callum,

    Thanks for the effort that you had put into executing and publishing the results of this exercise. As you had noted, the cross-cloud network latency is brutal in this case and is the core cause of the high response times. There are a couple of points I wanted to make on the subject:
    * To take cross-cloud network out of the benchmark, you could try repeating it while using server and database instances in Rackspace’s Chicago, US data center (ORD1).
    * Do note that Xeround’s service uses an in-network database implementation which does not easily lend itself to being compared to a standard MySQL deployment (performance-wise). More on the topic on our blog at: http://xeround.com/blog/2011/10/in-network-cloud-database-architecture-benefits-performance-other-considerations

    Cheers

  2. Great write up. I am currently in the process of trying to setup Magento 1.6 with Xeround and I am running into problem. I tried just creating an empty magento database and configuring Magento but I get primary key drop error. Apparently this is not supported. I then tried running the sample script directly from Xeround phpmyadmin and needed to remove the fulltext field index since its not support by Xeround. Once I was able to get it running I launch Magento and get “: Illegal scheme supplied, only alphanumeric characters are permitted”. I googled a bit but only found articles that seem to be unrelated. How did you get this running for your benchmarks?

    1. Interesting, very interesting. I ran sysbench benchmarks, not Magento specific benchmarks. I didn’t look into xeround in sufficient detail to find out that it’s not compatible with the Magento schema. That’s definitely a game changer from our perspective. Thanks for sharing the feedback. Maybe Amazon’s RDS offers a workable alternative?

      1. Actually I am still in the process of trying to work around this. I will post my findings once I am done. In the meantime we are using RDS with good success, although this doesn’t offer the ability to scale our writes which is why I am exploring Xeround and ScaleBase.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s