Large Scale Load Testing and EC2 Limits

If you are doing large scale load testing, you may run up against EC2 limits or other “service quotas” on your AWS account.  In this case, you will need Amazon approval for running your large tests.  These limits fall into a number of categories which differ by service offering.  The complete description of service quotas including default values can be found in the AWS documentation.  Here are the three key ones:

 

EC2 On-Demand Instance Limits

This is where you can request the ability to increase the number of on-demand EC2 instances you can run.  For example, if you want to emulate 50,000 users, you may need 200 servers.  The request form generates a support request and can be accessed here, or alternatively can be found under the “Limits” section of the AWS EC2 console:

The default instance class is “M“, so we will use this as an example.  Select “Running On-Demand All Standard (A, C, D, H, I, M)” and then click on “Request limit increase” in the upper left:

Then select the “Service limit increase” option, and be sure to specify your region:

Currently AWS also requires you to briefly summarize the reason for your request:

When you are finished, click “Submit” in the lower right.  Changes to your EC2 service quotas will take effect once the changes are approved.

Vulnerability Testing and Special Requests

Amazon has published Penetration Testing guidance which outlines the permitted services which do not require prior approval (such as EC2, RDS, API Gateways, and more).  There are also listed prohibited activities (e.g., DNS zone walking via Route53).

If you are doing large scale tests on non-approved services, Amazon will likely notice the this activity and may shut down your servers or disable services.  This is to help prevent, among other things, Denial of Service (DoS/DDoS) attacks.  You will receive a notice if this happens in the form of an AWS abuse report.  If you feel you might be at risk of being flagged for such activity, you can file a Simulated Event Submissions Form with AWS to prevent disruption of your tests.

EC2 Spot Instance Limits

If you utilize spot instances in conjunction with your load testing you may find yourself hitting this limit which is distinct from on-demand EC2 instances limits.  When running a test that exceeds these limits, you may encounter the following message on RedLine13:

"MaxSpotInstanceCount" message on RedLine13
You may encounter this message if your spot instance service quota is exceeded for a load test.  We also discuss these limitations in a related post comparing spot vs. on-demand instances.

Amazon states spot instance limits may increase over time, however you may also request an increase to this service quota similar as described above for on-demand limits.  On the request form, be sure to indicate “EC2 Spot Instances“:


If you do not have an Amazon AWS account, you can sign up for one easily at http://aws.amazon.com/.  There is no cost to sign up, and you will only pay for the services that are used.  In a related blog post we describe some of the details to AWS cost estimation in conjunction with RedLine13.

Are you new to RedLine13?  Sign up for a free trial account and start exploring RedLine13 today!