About this report
Two things are measured for each service: single-tile request latency via pytest-benchmark, and load/throughput via siege (10 concurrent clients × 200 repeats per URL list). Both run against the services in Docker containers on a GitHub Actions runner, so treat absolute numbers as noisy and focus on the relative comparison between services.
Metrics
- Elapsed time (s)
- Total wall-clock time siege took to run the full request list.
- Response time (s)
- Average time between sending a request and receiving the full response.
- Transaction rate (trans/sec)
- Average number of completed requests per second over the run.
- Concurrency
- Average number of simultaneous connections siege observed while the run was in progress.
Services
- titiler / async-titiler
- COG scenario — tiling a single Cloud-Optimized GeoTIFF with titiler's sync stack vs. an async variant.
- titiler-pgstac / titiler-stacapi / async-titiler-stacapi
- Mosaic scenario — tiling the same STAC-search mosaic, resolving assets either directly from a pgstac database (
titiler-pgstac) or through a STAC API (titiler-stacapi sync vs. async-titiler-stacapi async).