imgproxy

Signed URL Proof of Concept

PoC Demo
Served from Cloud Run europe-west1  ·  Israel→Belgium ~400ms network  ·  Server processing ~175ms warm
Step 1 — Upload Image
🖼

Click to select or drag & drop an image file

PNG, JPG, WEBP, GIF supported

Step 2 — Generate Resized Image

After upload, enter dimensions and fetch the transformed image via imgproxy.

Result
Resized — × —
🔲 Not loaded yet
Performance Targets
Metric Target Warning Fail Measured
Signed URL generation < 5 ms 5–20 ms > 20 ms
GCS fetch (same region) < 50 ms 50–150 ms > 150 ms
Image transform (800×600) < 150 ms 150–300 ms > 300 ms
Total p95 (client sees) < 300 ms 300–600 ms > 600 ms
Cold start (Cloud Run) < 2 s 2–4 s > 4 s
Note on browser measurements:
"Signed URL generation" as measured from browser includes ~400 ms Israel→Belgium network round-trip. Server-side signing is < 1 ms.
"Total p95 (client sees)" = time from clicking the button until the image is displayed — the real client-side metric.
"GCS fetch + Image transform" are estimated from TTFB of the imgproxy fetch (server processing ≈ TTFB).
"Cold start" row shows the first-request total if it exceeds 500 ms, otherwise reports warm.