What durable objects? How is it helpful.
What durable objects? How is it helpful.
JSON.parse/JSON.stringify.every time someone has complained about D1 latency, it's either a temporary spike for everyone, or never responded to by a cloudflare employee.Be concrete please. "Latency" is not a single thing. There are millions of reasons why something can be slow. User error, network errors, Cloudflare bugs, and lots of other things.
SELECT data ... the response takes ~3500ms to start arriving. RunningSELECT COUNT(data) as a control takes about 700ms.
performance.now() before and after the call to bind(...).all() to identify the total time.wrangler dev --remote[WARNING] SQLite in Durable Objects is only supported in local mode., but I can probably work around that for the time being D1_ERROR: Network connection lost (even after adding retries) where every write would fail.JSON.parse/JSON.stringifySELECT data ...SELECT COUNT(data)performance.now()bind(...).all()row fetch took 206 ms
result serialises to 19906 bytes of JSON
result meta {
"served_by": "v3-prod",
"served_by_region": "APAC",
"served_by_primary": true,
"timings": {
"sql_duration_ms": 0.4254
},
"duration": 0.4254,
"changes": 0,
"last_row_id": 705,
"changed_db": false,
"size_after": 10797056,
"rows_read": 2,
"rows_written": 0
}
row fetch took 3748 ms
result serialises to 5100116 bytes of JSON
result meta {
"served_by": "v3-prod",
"served_by_region": "APAC",
"served_by_primary": true,
"timings": {
"sql_duration_ms": 2.4634
},
"duration": 2.4634,
"changes": 0,
"last_row_id": 840,
"changed_db": false,
"size_after": 13021184,
"rows_read": 100,
"rows_written": 0
}wrangler dev --remote[WARNING] SQLite in Durable Objects is only supported in local mode.D1_ERROR: Network connection lost" at D1DatabaseSessionAlwaysPrimary._sendOrThrow (cloudflare-internal:d1-api:125:19) at async D1DatabaseSessionAlwaysPrimary.batch (cloudflare-internal:d1-api:80:23) at async Object.queue (index.js:6144:5)",await env.D1.batch(
batch.map((item) => stmt.bind(...))
);