~/talk

Optimizing GraphQL Performance Tips and Techniques

Talkat PyCon UK 2023 · on Sunday, 2023-09-24· at 11:00· Assembly Room· [api-design]
slides:none on file

Shows a concrete path from an N+1 problem that produced 83 database queries to single-query performance using a combination of techniques: query lookahead and the Strawberry Django optimizer add automatic select_related joins; request-scoped DataLoader batching collects IDs and issues one batched SQL call; client and CDN-friendly persisted queries via ID (and Apollo automatic persisted queries) replace large GET bodies; enforceable query depth and weighted complexity limits plus Sentry-style resolver timing give observability and effective protection against expensive or abusive requests.

AI-written summary · about

  1. 0:00GraphQL introduction
  2. 3:55Shifting complexity to backend
  3. 4:37N+1 query problem
  4. 9:34Data loaders for batching
  5. 13:29Caching challenges in GraphQL
  6. 17:46Persistent queries for CDN
  7. 20:37Monitoring misuse
  8. 23:48Future optimizations & Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.