In previous posts we talked about micro-benchmarks that we ran for storage-optimized instances. Here we’ll talk about the same benchmarks run on general-purpose m1 and m3 instances. While the m1 is a previous-generation general-purpose instance type, the m3 is the current-generation version. One major difference between the two instances is that m1’s are based on Intel Xeon processors, while for m3 instances each vCPU is a hardware hyperthread from Intel Xeon E5-2670 processors. An m3 can be launched using both Paravirtual and hardware-assisted virtualization. For this post we used a paravirtual image for both m1’s and m3’s, and we used the Ubuntu 12.04 64-bit OS. Here are the details of all available instance types in the general-purpose category:
Our benchmarking experiments were similar to those we previously ran on storage-optimized instances. We used CoreMark for CPU benchmarking and FIO for disk I/O benchmarking. You can find more details about the set-up and use of these tools in our previous blog post here.
What follows are the CoreMark scores for m instances:
The charts below represent raw and dollar-per-hour scores CoreMark scores. From these graphs you’ll see that the new generation m3 instance offers relatively better performance than the previous generation m1. You’ll also notice that m3.large offers the best performance-per-dollar.