26 lines
826 B
Markdown
26 lines
826 B
Markdown
# Performance Budgets
|
|
|
|
## API
|
|
- health endpoint: < 200ms local
|
|
- project list: < 500ms for 100 projects
|
|
- dataset metadata: < 500ms after extraction
|
|
- synchronous upload response: should register file quickly and hand off heavy work to job queue
|
|
|
|
## Raster
|
|
- never load large rasters fully into memory for preview;
|
|
- prefer windowed reads and overviews;
|
|
- large tiling must run as background job.
|
|
|
|
## Vector
|
|
- use spatial indexes for intersection/QA operations;
|
|
- simplify only for display, not source-of-truth unless explicitly stored as derived layer.
|
|
|
|
## Frontend
|
|
- initial app load should not require heavy GIS data;
|
|
- map layers should be lazy-loaded;
|
|
- large GeoJSON should be paged, tiled, or simplified.
|
|
|
|
## Jobs
|
|
Long-running operations must have status transitions:
|
|
`queued -> running -> succeeded|failed|cancelled`.
|