Testing Cloud Computing Performance with PRTG: Performance Comparison of Amazon EC2 Instance Types
Originally published on April 02, 2009 by Dirk Paessler
Last updated on March 03, 2022
•
6 minute read
In version 7.1 of PRTG Network Monitor we have added a set of custom sensors which can be used to test the available CPU, disk and memory resources by running short load tests. We have used these load tests to measure the performance differences between instance types of Amazon Elastic Compute Cloud (EC2).
Introducing PRTG Load Test Sensors
The available tests are:Custom Sensor | Description |
---|---|
Load_Test_Disk_Write_Read_1000_files.exe | Creates 1.000 files, writes 1.000 lines of data into each file, reopens the files, re-reads all the data and deletes the file |
Load_Test_CPU_1_Mio_Primes.exe | Computes all primes up to 1 million |
Load_Test_Memory_Allocate_And_Free_400MB.exe | Allocates 100.000 memory blocks, extends each block to 1 kb in 10 byte chunks, copies two of these blocks into a second set of 100.000 memory blocks, and releases all the memory (including memory management this peaks at about 400 MB of RAM) |
By the way: the source code of these tests is available in the PRTG Addons repository on Google Code.
Amazon EC2 Instance Types: Performance vs. Price
Our first tests compare the performance of the five instance types available on Amazon EC2. The following graph shows the performance of the default "m1-small" instance with the 4 other options together with the price difference (purple bar):First you think: Well, the xlarge instances are way too expensive. But please keep in mind that our graphs do not show all parameters that affect Amazon's pricing, e.g. available memory and number of cores are not included. E.g. the xlarge instances have a lot more memory and CPU cores, but these do not affect the results of our load tests. A few interesting facts:
- CPU performance of c1.medium and c1.xlarge is equal and about 4 times faster than m1.small (for single threaded tasks)
- CPU performance of m1.large and m1.medium is about twice the performance of m1.small
- Memory speed of all other instance types is about 200%-300% faster than m1.small
- Disk speed fluctuates the most between instance types. For applications that rely heavily on disk access consider c1.xlarge