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
Our conclusion of these tests is that we will mostly use the "c1.medium" instances ("High CPU Medium Instance") for webhosting and other performance-relevant uses because it offers 150-300% more performance (for CPU, disk and memory) than "m1.small" instances while only costing 100% more.
Of course our test programs are only very simple tests. They are no substitute for application-specific "real world" tests that you should run on the instance types if you consider moving applications onto EC2 or any other cloud hosting service. But even though they can not be used to exactly measure performance of a virtual machine or PC they still can give us a hint on the performance, especially the performance differences between "platforms".
All tests were run over several days on Windows based instances in the EC2 region "US East Coast" and availability zone "1c" during the last week. We also ran a few tests in other availability zones and in the European region, but they did not show significant performance differences to the results shown above.
This table shows the average results for the PRTG load tests by instance type that we have measured: