Skip to main content

Load testing for stac compliant apis

Project description

stac-api-load-testing

Taurus and Locust load testing tools for stac-api backends.

Alt text

Run stac-fastapi backends locally (elasticsearch|opensearch|pgstac|mongo)

$ docker-compose up elasticsearch
$ docker-compose up app-elasticsearch

Install locally for development

$ pip install -e .

Install from PyPI

$ pip install stac-api-load-testing

Usage: stac-api-load-testing [OPTIONS]

  Entry point for the stac-api-load-testing CLI tool.

  This tool facilitates data ingestion, Locust load testing, and Taurus
  performance testing against a specified STAC API endpoint.

  Args:     
  ingest (bool): If True, ingest sample data into the specified STAC API.     
  locust (bool): If True, execute Locust load tests against the
  specified STAC API.     
  taurus (bool): If True, perform Taurus performance
  testing with custom settings against the specified STAC API.     
  concurrency (int): Specifies the number of concurrent users for Taurus testing. Default is 10.      
  ramp_up (str): Specifies the ramp-up period for Taurus testing, in Taurus notation (e.g., '1m' for 1 minute). Default is '1m'.  
  iterations (int): Specifies the number of iterations each virtual user will
  execute in Taurus testing. Default is 100.     
  api_address (str): The base URL of the STAC API to be tested.

Options:
  -i, --ingest               Ingest sample data into the STAC API.
  -l, --locust               Run Locust load tests against the STAC API.
  -t, --taurus               Run the Taurus wrapper for performance testing
                             against the STAC API.
  -c, --concurrency INTEGER  Number of concurrent users for Taurus option.
  -r, --ramp-up TEXT         Ramp-up time for Taurus option.
  -n, --iterations INTEGER   Number of iterations for Taurus option.
  -a, --api-address TEXT     Specify the STAC API URL to test against.
  --version                  Show the version and exit.
  --help                     Show this message and exit.

Ingest test data - http://localhost:8084 is just an example url

$ stac-api-load-testing --ingest --api-address http://localhost:8084

Run Locust Load Testing Ouside of Taurus Wrapper

$ stac-api-load-testing --locust --api-address http://localhost:8084

  • go to http://localhost:8089 and start with desired settings

Inside of Taurus Wrapper

$ stac-api-load-testing --taurus --api-address http://localhost:8084

Debugging Locust tasks using a single simulated user

$ python stac_api_load_testing/config_files/locustfile.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stac_api_load_testing-0.2.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

stac_api_load_testing-0.2.0-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page