Home | Cloud | More on Cloud Server Performance – Updated!
More on Cloud Server Performance – Updated!

More on Cloud Server Performance – Updated!

1 Flares Twitter 0 Facebook 0 Google+ 1 StumbleUpon 0 Buffer 0 LinkedIn 0 1 Flares ×

Following on from my previous post, I thought I would do a little more work on cloud server performance.  First, it’s worth looking at the underlying hardware serving virtual servers in the cloud.  As I’ve been using CentOS as the base O/S for my testing, it’s pretty simple to get a summary of the CPU stats from each virtual machine.  Here goes:

Rackspace – All virtual machines get 4 vCPUs, which are based on the 18-month old AMD Opteron 2374HE processor running at 2.2Ghz.  Virtual machines have a bogomips figure of around 5500.

Amazon AWS – Amazon use Intel processors in the EU-West data centre that I ran my test on.  For a large instance, the CPU in question was an Intel Xeon E5507 (released 1Q2010) running at 2.27Ghz.  This processor gets a bogomips figure of 4533, somewhat lower than Rackspace.  This large instance has 2 vCPUs with 2 EC2 units each.

GoGrid – GoGrid use Intel Xeon E5520 processors at 2.27Ghz, with a similar bogomips rating to Amazon of 4533.  This isn’t surprising as they run at the same speed.  GoGrid quote CPU for a base VM as being between 0.5 and 1 core.

I’ve amended my script and produced something a little more formal – see the attached “cloudperf.pl” file.  This runs a number of maths intensive loops, with the option to run multiple threads and multiple iterations.  Performance is measured in MFlops, which is simply a count of the number of loops achieved in the script, in millions.  You can also change the time each loop runs for.  Just type “perl cloudperf.pl” –help for details.  Note:  There is no warranty or guarantees given with this script and you run it at your own risk.

Curiously, I’ve found an anomaly with a couple of virtual servers I’ve built over at GoGrid.  The smaller of the two is running at their US-West location and appears to have a standard CPU setup, however the output from my script shows the following:

Script is running with the following settings:
Number of threads: 1
 Number of iterations per thread: 10
 Seconds per iteration: 1
Iteration     PID           MFlops    Real      User      Sys
 1             22141         0.986    1.000    0.510    0.000
 2             22141         1.942    1.000    1.000    0.000
 3             22141         1.732    1.000    0.900    0.000
 4             22141         1.876    1.000    1.000    0.000
 5             22141         1.935    1.000    1.000    0.000
 6             22141         1.922    1.000    1.000    0.000
 7             22141         1.930    1.000    1.000    0.000
 8             22141         1.734    1.000    0.900    0.000
 9             22141         1.934    1.000    0.990    0.000
 10            22141         1.898    1.000    1.000    0.000

Compare this to an instance running in US-East, which has more cores of the same type.  Remember I’m just running single threaded here:

Script is running with the following settings:
Number of threads: 1
 Number of iterations per thread: 10
 Seconds per iteration: 1
Iteration     PID           MFlops    Real      User      Sys
 1             1101          0.250    1.000    0.190    0.220
 2             1101          0.593    1.000    0.410    0.590
 3             1101          0.593    1.000    0.420    0.580
 4             1101          0.604    1.000    0.450    0.560
 5             1101          0.603    1.000    0.440    0.550
 6             1101          0.599    1.000    0.460    0.540
 7             1101          0.606    1.000    0.410    0.600
 8             1101          0.606    1.000    0.440    0.550
 9             1101          0.604    1.000    0.410    0.590
 10            1101          0.602    1.000    0.450    0.550

Performance is roughly 1/3 that of the other instance for identical CPU types.  The difference is in the User versus System time.  The slower instance is being constrained by the hypervisor (showing more system time), whereas the US-West one isn’t (all User time).  This implies US-West isn’t busy and when that happens, the instance can run at the full rate of the CPU.  Of course I’m taking these measurements during the working day in GMT, whereas many of the servers in US-West could be serving traffic on the US west coast and be quiet at the moment.  I’ll need to repeat this test in a few hours and see the results.  GoGrid don’t specify exactly what performance is guaranteed other than to state that my instance will get between 0.5 and 1 cores – whatever a core is.  I’ll post the “daytime” US-West figures later.

So, I’ve just run the numbers again on my West Coast GoGrid instance:

Script is running with the following settings:
Number of threads: 1
 Number of iterations per thread: 10
 Seconds per iteration: 1
Iteration     PID           MFlops    Real      User      Sys   
 1             23133         0.229    1.000    0.110    0.000    
 2             23133         1.879    1.000    1.000    0.000    
 3             23133         1.923    1.000    1.000    0.000    
 4             23133         1.910    1.000    1.000    0.000    
 5             23133         1.891    1.000    0.990    0.000    
 6             23133         1.729    1.000    0.910    0.000    
 7             23133         1.937    1.000    1.000    0.000    
 8             23133         1.926    1.000    1.000    0.000    
 9             23133         1.910    1.000    1.000    0.000    
 10            23133         1.889    1.000    1.000    0.000    

It’s still running with the same level of performance.  Does this mean nothing is running in this GoGrid data centre?  So there’s  a market here for the ability to determine where virtual machines are running fastest and sell those as the best locations to host in…. until everyone does it.

 

 

Download cloudperf.pl

 

 

 

About Chris M Evans

  • Pingback: More on Cloud Server Performance | Storage news | Scoop.it()

  • http://www.kickswin.com/ air jordans

    This runs a number of maths intensive loops, with the option to run multiple threads and multiple iterations?

  • http://www.vpshosting.com.hk/ Cloud Server

    Hi Nice post explaining the performance of Cloud Server. If you can come up with some nice infographic in next post. That would be very great. Thanks for the informative post.

1 Flares Twitter 0 Facebook 0 Google+ 1 StumbleUpon 0 Buffer 0 LinkedIn 0 1 Flares ×