ℹ
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— × —
Developing…
🔲Not loaded yet
Signed URL
Load time
—
File size
—
Content-type
—
Dimensions
— × —
⏱
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.