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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file stac_api_load_testing-0.2.0.tar.gz.

File metadata

  • Download URL: stac_api_load_testing-0.2.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for stac_api_load_testing-0.2.0.tar.gz
Algorithm Hash digest
SHA256 590d786616d64cecc2d79fb44b430332073fc35acf98510b0aeb6bed4e2f0d9d
MD5 6c3872da348f1b601fcb03cc1f31e1f5
BLAKE2b-256 9ea97f894e92bbe2f872805683c0e394b08fb0e2c6d233b0c702e1074415fd6f

See more details on using hashes here.

File details

Details for the file stac_api_load_testing-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stac_api_load_testing-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 632db41f80227117a272cfef6ca73f854b2f11dbee0b986ea20b6a5e583ab2b2
MD5 f97f3c723318f3e861722e3449e4e47f
BLAKE2b-256 efab40f602f9c3c0840c3021a41ab97e0dc05ec04d33fae5c2143f9774088b29

See more details on using hashes here.

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