Measuring CPU performance across servers

Posted in: Site Reliability Engineering, Technical Track

The y-cruncher utility is a handy little tool that will calculate digits of Pi using multiple threads, and will report back with detailed information on the duration of each step. This allows a direct 1:1 comparison of CPU performance across all servers. Y-Cruncher will perform benchmark testing, stress testing, and I/O analysis, as well as let you create a custom test for very large machines.

This is particularly nice for Virtual Machines, where you may not be sure the Hypervisor is configured correctly and need to test.

The output is easy to read, and gives information on every step performed. For most of us, the important pieces will be:

Start Date: Thu Sep 10 17:43:14 2015
End Date: Thu Sep 10 17:45:48 2015

Computation Time: 120.163 seconds
Total Time: 154.007 seconds

CPU Utilization: 98.577 %
Multi-core Efficiency: 98.577 %

I thought a nice test of this utility would be to compare a few different sizes of Microsoft Azure & Amazon AWS servers and see how they perform. For all of these tests, I am running Windows 2012 R2, calculating 1 million digits of pi, and using multi-threaded processing when I have more than 1 vCPU.

The below table has my (not surprising) results.

Provider Type CPU Info Num of vCPU CPU Time (Sec)
Azure Standard A1 AMD Opteron 4171 HE 2.10 GHz 1 14446.791
Azure Standard D13 Intel Xeon E5-2660 v0 2.20 GHz 8 293.939
Azure Standard G3 Intel Xeon E5-2698B v3 2.00 GHz 8 142.508
AWS t2.small Intel Xeon E5-2670 v2 2.50 GHz 1 3115.828
AWS m4.2xlarge Intel Xeon E5-2676 v2 2.40 GHz 8 205.36
AWS c4.2xlarge Intel Xeon E5-2666 v3 2.90 GHz 8 177.72

Interested in working with Scott? Schedule a tech call.

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *