I got into a discussion in the Performance Testing group on LinkedIn which raised a question that we had answered internally, but had neglected to share with our customers – how much bandwidth do our cloud engines have available?
Before I proceed, I must make this disclaimer: our cloud engines run on Amazon’s EC2 infrastructure, so the rules that apply there also apply to our cloud engines. Amazon does not make any guarantees for bandwidth, so anytime your test results look suspicious, we recommend doing a quick bandwidth test. Note that there is a Bandwidth Test wizard in Load Tester that will quickly setup and run such a test for you, as well as some articles on Web Bandwidth and Designing a Bandwidth Test that will help you understand why this is different from lower-level network speed tests.
With that out of the way, I can say that we estimate our engine requirements based on getting 70 Mbps from each engine. For very large tests, we will push the engines much closer to their capacity. It is important to remember that these are virtual machines sharing physical resources with other virtual machines, so some variability is inevitable and validation of the test infrastructure is important.
We have seen bandwidth capacities in excess of 100Mbps on many occasions. This is shown in the chart below, from a test of a cloud engine running in the EC2 US-East region hitting two servers this morning. The bandwidth consumption gets well over 110 Mbps. The two servers had been individually tested to deliver 85Mbps and 50Mbps to that same cloud engine within minutes of this test, adding evidence to the assertion that this test shows the bandwidth limit of the cloud engine.
Note that the above test was repeated several times over course of several days yielding results that were consistent +/- 10%.
Chris Merrill, Chief Engineer
When his dad brought home a Commodore PET computer, Chris was drawn into computers. 7 years later, after finishing his degree in Computer and Electrical Engineering at Purdue University, he found himself writing software for industrial control systems. His first foray into testing software resulted in an innovative control system for testing lubricants in automotive engines. The Internet grabbed his attention and he became one of the first Sun Certified Java Developers. His focus then locked on performance testing of websites. As Chief Engineer for Web Performance since 2001, Chris now spends his time turning real-world testing challenges into new features for the Load Tester product.