~/talk

Scaling: from 0 to 20 million users

Talkat Dutch PHP Conference 2022 · 2022-07-01..07-02· [php, web-performance]
linkedin:jstuhli
slides:none on file

SofaScore runs PHP 8.1 with Symfony, serves 20 million monthly active users generating ~180 billion requests and ~600 TB monthly, and evolves from single Apache box to AWS auto‑scaling, then back to colocated machines. Caching moves from memcached and full‑page caches to Varnish request coalescing and a two‑layer/sharded Varnish farm, cutting backend load; MongoDB gets migrated to PostgreSQL via timestamped sync script in about a week; deployment uses Docker, Kubernetes and NATS for realtime, and a homegrown purgatory cache invalidation library.

AI-written summary · about

  1. 0:00Start
  2. 5:13Cache Stampede problem
  3. 12:21Request coalescing
  4. 15:48mongoDB
  5. 16:50Why postgres?
  6. 29:11Replace AWS stuff
  7. 32:13Optimizations
  8. 33:26Dedicated + VPS
  9. 38:47kubernetes
  10. 40:56Take home
~/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.