~/talk

On a shoe-string and a t2.small: scaling on a [zero] budget.

Talkat PyConline AU 2020 · 2020-09-04..09-06· [django, serverless]
linkedin:tveastman
slides:none on file

A small Django/Flask side project called secateur runs on a reserved t3.small and struggles at 250k–2M block actions per day because Amazon EBS throttles when the EBS IOPS burst balance hits zero. Fixes include tuning Postgres (per-transaction synchronous_commit off, wal writer delay), moving Celery broker from Redis to SQS, batching work (one task blocks 50 users), token-bucket per-user rate limits, and pragmatic worker restarts to contain a Celery memory leak.

AI-written summary · about

  1. 0:00Introduction
  2. 2:10Secator
  3. 2:52User growth
  4. 4:52Welcome
  5. 6:17Technical details
  6. 7:20How it works
  7. 8:38What causes it
  8. 10:10A couple things
  9. 10:25Too many disk rights
  10. 10:45PostgreSQL
  11. 11:25Disk Rights
  12. 12:07Synchronous Commit
  13. 14:16Postgres Tips
  14. 16:07Celery
  15. 16:50Memory
  16. 19:56Memory leaks
  17. 20:55User constraints
  18. 22:22Token bucket algorithm
  19. 23:44Inspiration from constraints
  20. 24:38Conclusion
~/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.