Skip to content
This repository was archived by the owner on Sep 28, 2022. It is now read-only.

Clarification question #7

Open
sean4200 opened this issue Jun 25, 2019 · 3 comments
Open

Clarification question #7

sean4200 opened this issue Jun 25, 2019 · 3 comments
Labels
question Further information is requested

Comments

@sean4200
Copy link

Hi I am new to load testing and AWS, but believe this solution could be beneficial for future projects.

But require some clarification, would this running my full load in all az or is it splitting my load across all the az for example: if I had basic test which contains 250 rps would this solution make it 250 * each az or would it be 250/each az

@ferdingler
Copy link
Member

ferdingler commented Jun 25, 2019

Hi @sean4200 , thanks for your interest in the project! That's a fair question.

This solution creates a new VPC in your account which contains 3 Availability Zones and yes, when you launch a Load Test it will distribute the docker containers within the 3 AZs as evenly as possible. You can check this logic in the script that triggers the execution: https://github.com/aws-samples/distributed-load-testing-using-aws-fargate/blob/master/bin/runner.py. By default it triggers 3 docker containers (1 per AZ), but you can overwrite this value by overriding the TASK_COUNT environment variable within the Code Pipeline.

Now, each docker container will run an instance of your defined Taurus scenario. These scenarios are defined in YAML format, for example:

execution:
- concurrency: 5
  ramp-up: 1m
  hold-for: 5m
  scenario: aws-website-test

scenarios:
  aws-website-test:
    requests:
    - https://aws.amazon.com

Where concurrency is the amount of TPS that the container will execute. So, for example if you specify a concurrency of 5 and you leave the default of 3 docker containers per load test execution. Then you will have a total of 15 TPS.

@ferdingler ferdingler added the question Further information is requested label Jun 25, 2019
@sean4200
Copy link
Author

sean4200 commented Jun 25, 2019

Thank you, ok so if I had a JMeter test within my taurus file which was configured to generate 250 request per second to a endpoint, this would actually run 3 times, e.g. 250 RPS in az1, 250 in az2 and 250 in az3, totalling 750 RPS to the endpoint.

Another question, if the parameters for concurrency, hold and ramp are removed from the Taurus file would the ones set in the jmeter test then be used?

@ferdingler
Copy link
Member

@sean4200

  1. Correct.
  2. I believe so. If you look at the Taurus docs, you can chose the JMeter Executor: https://gettaurus.org/docs/JMeter , in which you don't specify parameters like concurrency because it takes the ones on your jmx file. I haven't personally tried this. But if you do, please let us know here if it worked. :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants