We use Netlify Blobs (@netlify/blobs via Edge Functions) to persist JSON results in a request/response pattern. A background worker calls PUT /api/requests/{id}/result on our Edge Function, which stores the payload via blobStores.requestResults.setJSON(id, body).
Problem: Under moderate concurrent load, setJSON takes 5–12s instead of the expected <200ms. We see:
PUT /api/requests/{id}/result 45.88 ms ← fast, no contention
PUT /api/requests/{id}/result 10175.32 ms ← 10s under 1-2 requests load
During these slow writes, everything else on the Edge Function responds normally — it’s purely the blob write that blocks. Our Edge Function’s polling loop (checking blobStores.requestResults.get(id) every 500ms with a 10s timeout) consistently times out because the write hasn’t completed yet.
Questions:
- Is there known latency or rate-limiting on the blob store under concurrent writes? We’re seeing maybe 3–5 concurrent PUTs.
- Are there any configuration options to tune retry behavior or timeouts for setJSON?
- Is there a recommended pattern for low-latency write-then-read flows like this using Netlify Blobs?
Our store config:
getDeployStore({
name: “request-results”,
consistency: “eventual”
})
git repo: mztrading-data/netlify-apps/mzingest at fix-blob · mnsrulz/mztrading-data · GitHub