amazon-ec2loadperformance-testingbandwidth

Is the network capacity calculation right?


Given:

Test scenario:

EC2 monitoring shows up the 400MB network in during the load test.

enter image description here

Container metric container_network_receive_bytes_total shows up 10 MB/sec (roughly) income traffic.

enter image description here

How to assess max number of users sending 1MB file each, which the infrastructure above may support?

My thoughts (rough estimation) are as follows:

Conclusion: the infrastructure can support max 100000 users which send 1MB file each. Am I right at least roughly?

Of course there could be many "but". E.g. I'm using 1 test machine with the limited Internet speed (10MB/sec). So, that 1000 users which are up and sending 1 MB file from the test machine are limited by the laptop Internet speed. Most likely, if the speed was higher or each of 1000 users was run on separate machine, the container bandwidth and EC2 network in would be much higher.


Solution

  • Run a stress test.

    Start with 1 virtual user and gradually increase the load at the same time monitoring metrics like response time, number of transactions per second and number of errors.

    In the ideal system the number of transactions per second should increase proportionally to the increasing load, however at some point you will observe that as you're increasing the load the number of transactions per second remains the same or even goes down and response time goes up (or errors start occurring or system under test crashes)

    The number of virtual users which were "active" by that time will be the response you're looking for.

    Few things to consider: