Please run nbench [1]. I ran it on the C1 in April 2015 and got the following results:
CPU : 4 CPU
L2 Cache :
OS : Linux 3.2.34-29
C compiler : gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1)
libc : libc-2.19.so
MEMORY INDEX : 5.859
INTEGER INDEX : 8.164
FLOATING-POINT INDEX: 5.770
For comparison, here are an Intel Atom N450, a Core 2 Duo L7500 and a Raspberry Pi 1 Model B:
CPU : Dual GenuineIntel Intel(R) Atom(TM) CPU N450 @ 1.66GHz 1667MHz
L2 Cache : 512 KB
OS : Linux 3.2.0-23-generic
C compiler : gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
libc : libc-2.15.so
MEMORY INDEX : 10.845
INTEGER INDEX : 9.315
FLOATING-POINT INDEX: 8.748
CPU : Dual GenuineIntel Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz 1601MHz
L2 Cache : 4096 KB
OS : Linux 3.5.0-26-generic
C compiler : gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
libc : libc-2.13.so
MEMORY INDEX : 18.734
INTEGER INDEX : 14.318
FLOATING-POINT INDEX: 23.178
CPU :
L2 Cache :
OS : Linux 3.6.11+
C compiler : gcc version 4.6.3 (Debian 4.6.3-14+rpi1)
libc : libc-2.13.so
MEMORY INDEX : 2.536
INTEGER INDEX : 3.159
FLOATING-POINT INDEX: 2.157
How "reliable" are those numbers in estimating real application performance?
I've run nbench for a 1 CPU VM in EC2, and a 2 CPU VM in DO, and the former is a lot faster ( almost 2x ) than the latter!
EC2 Ubuntu ( 1 CPU )
==============================LINUX DATA BELOW===============================
CPU : GenuineIntel Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz 2400MHz
L2 Cache : 30720 KB
OS : Linux 3.13.0-74-generic
C compiler : gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
libc : libc-2.19.so
MEMORY INDEX : 39.370
INTEGER INDEX : 35.426
FLOATING-POINT INDEX: 53.665
DO CoreOS ( 2 CPU )
==============================LINUX DATA BELOW===============================
CPU : Dual GenuineIntel Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz 2000MHz
L2 Cache : 15360 KB
OS : Linux 4.2.2-coreos-r2
C compiler : gcc version 4.9.2 (Debian 4.9.2-10)
libc : libc-2.19.so
MEMORY INDEX : 20.668
INTEGER INDEX : 19.277
FLOATING-POINT INDEX: 28.370
Edit:
Here's also a 2 CPU machine on Azure
==============================LINUX DATA BELOW===============================
CPU : Dual GenuineIntel Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz 2397MHz
L2 Cache : 30720 KB
OS : Linux 4.2.2-coreos-r2
C compiler : gcc version 4.9.2 (Debian 4.9.2-10)
libc : libc-2.19.so
MEMORY INDEX : 28.667
INTEGER INDEX : 24.351
FLOATING-POINT INDEX: 39.950
This is helpful but you're not mentioning what instance type at EC2.. t2 and t1 instances do heavy throttling after you use up your CPU credits[1] so it's likely that you were just using all or most of a full Xeon CPU. I got similar results on even a t2.nano.. until I used up the CPU credits. Then it slowed to a crawl!
Also keep in mind that nbench only tests a single CPU[2].
Apples to apples would probably be a small m3 or m4 against a comparable DO instance. (but let's not go down that cost disparity rabbit hole.. esp EBS vs SSD or bandwidth!)
I don't think the comparison is wrong per se; this actually makes it a bit easier, since you're just comparing one core to another.
The only thing that I think is problematic is comparing a t2 to anything else, since that CPU performance is not sustainable as it might be elsewhere. m3 and m4 (and other instance types @ aws) are not explicitly throttled. (Source: AWS Solutions Architect)
We're running a portion of our workload at Userify[1] on AWS, but not the biggest portion, but this is actually for bandwidth cost reasons, not CPU (even though our workload is almost entirely CPU and bandwidth -- almost zero disk; our infrastructure at AWS would cost 8x more!)
I assumed nbench uses all the available cores, that's why I said I'm wrong.
On a 1 core basis, yes, it's useful, and I get that this t2 instance is not a stable baseline. I only have that available right now, as my free credit.
CPU : 4 CPU GenuineIntel Intel(R) Atom(TM) CPU C2550 @ 2.40GHz 2394MHz
L2 Cache : 1024 KB
OS : Linux 4.4.4-std-3
C compiler : gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
libc : libc-2.19.so
MEMORY INDEX : 22.134
INTEGER INDEX : 17.899
FLOATING-POINT INDEX: 21.522
Here are the results for a Kimsufi KS-1 server which has an Intel Atom N-2800 CPU (1.86Ghz, Dual Core, 4 Threads) and 2GB RAM, 500GB HDD for 6€/month. I'm posting them here because they are competing in the low-end dedicated server space:
nbench:
CPU : 4 CPU GenuineIntel Intel(R) Atom(TM) CPU N2800 @ 1.86GHz 798MHz
L2 Cache : 512 KB
OS : Linux 4.2.0-25-generic
C compiler : gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
libc : libc-2.19.so
MEMORY INDEX : 11.834
INTEGER INDEX : 11.540
FLOATING-POINT INDEX: 8.730
C1 root $ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Doing CPU performance benchmark
Threads started!
Done.
Maximum prime number checked in CPU test: 20000
Test execution summary:
total time: 686.1683s
total number of events: 10000
total time taken by event execution: 686.1557
per-request statistics:
min: 68.59ms
avg: 68.62ms
max: 70.83ms
approx. 95 percentile: 68.62ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 686.1557/0.00
vs the VPS (VC1):
VC1 root $ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Doing CPU performance benchmark
Threads started!
Done.
Maximum prime number checked in CPU test: 20000
Test execution summary:
total time: 45.9858s
total number of events: 10000
total time taken by event execution: 45.9822
per-request statistics:
min: 4.59ms
avg: 4.60ms
max: 4.98ms
approx. 95 percentile: 4.61ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 45.9822/0.00
Just for the lulz, here is nbench running on my Asus Chromebook Flip.
==============================LINUX DATA BELOW===============================
CPU : 4 CPU ARMv7 Processor rev 1 (v7l)
L2 Cache :
OS : Linux 3.14.0
C compiler : gcc version 5.2.1 20151028 (Debian 5.2.1-23)
libc : libc-2.21.so
MEMORY INDEX : 15.111
INTEGER INDEX : 14.374
FLOATING-POINT INDEX: 18.785
==============================LINUX DATA BELOW===============================
CPU : 4 CPU GenuineIntel Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz 3059MHz
L2 Cache : 4096 KB
OS : Linux 4.3.0-1-amd64
C compiler : gcc version 5.3.1 20160224 (Debian 5.3.1-10)
libc :
MEMORY INDEX : 37.273
INTEGER INDEX : 25.801
FLOATING-POINT INDEX: 47.882