Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 1.69 KB

readme.md

File metadata and controls

62 lines (42 loc) · 1.69 KB

PerformanceTestFramework

These example tests are currently pointed at the MockApp, which is hosted in Docker.

To target another URI remove the mock service and set the APP_DOMAIN environmental variable within the docker-compose file.

References:

Build code in docker

docker run -i --rm -v ${PWD}/:/app node:16.5-alpine npm run build --prefix /app

Run in docker-compose

  • The below command will;
    • Start a target mock api
    • Execute the tests via k6
docker-compose run --rm k6-runner && docker-compose stop

Tags

Tags are used to separate results from one another as documented here.

headers.tags = { tag: "getuser" };

Thresholds

Thresholds are set on a per tag basis as documented here.

  • p(95)<2000 95% of requests to run in 5 seconds or less.
  • rate<=0.01 99% of requests successful.
export let options = {
  
  thresholds: {
    "http_req_duration{tag:getuser}": ['p(95)<10000'],
    "http_req_failed{tag:getuser}": ['rate<=0.01'],

    "http_req_duration{tag:createuser}": ['p(95)<2000'],
    "http_req_failed{tag:createuser}": ['rate<=0.01'],    
  },
};

Gotchas

  • ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
  • FIX: add platform: linux/x86_64 to docker-compose