Toepassingen

Zes problemen, zes diagnoses.

Vertragingen, fouten, locks, overbelasting: wat je merkt, wat Wakoo vindt, de fix, en hoe Wakoo controleert dat die standhoudt. Voorbeelden, waarden ter illustratie.

Eerste instantie gratisRead-only

01

"Too many connections" op de lanceerdag

Eerste echte piek, en de app antwoordt FATAL: too many connections.

Wakoo vindt

60 serverless instanties × een pool van 10 = 600 connecties, boven de limiet van 500.

CorrectieEen transaction pooler ervoor, pools beperkt tot 2.

Actieve connecties tegenover de limiet, bij de volgende piek.

02

Drukke database, geen trage query

De CPU klimt, en toch lijkt elke query snel.

Wakoo vindt

Eén query van 0,4 ms draait 38.000 keer per minuut: een N+1 van de ORM.

CorrectieLaad de relatie vooraf in: één query in plaats van duizenden.

Aanroepen per minuut voor die queryvorm.

03

Van de ene dag op de andere trager, zonder release

Niemand heeft iets uitgerold, en een rapport duurt nu 11 s in plaats van 0,3 s.

Wakoo vindt

Na ANALYZE verwacht de planner 40 rijen in plaats van 2,3 M en kiest hij een nested loop.

CorrectieUitgebreide statistieken op (status, account_id). Zonder schrijflock.

Planvorm en p95 van die query.

04

Elke maand trager

Er is niets veranderd, en toch wordt alles trager: scans op events duren elke maand langer.

Wakoo vindt

61% dode rijen; autovacuum is al 9 dagen niet klaargeraakt op events.

CorrectieStel autovacuum bij voor die tabel. Win daarna ruimte terug als het nodig is.

Aandeel dode rijen en scantijd op events, elke week.

05

Een migratie legde de API plat

Eén ALTER TABLE, en elke request loopt in een timeout.

Wakoo vindt

Hij wacht achter een transactie die al 47 min inactief is; elke query schuift erachter aan.

CorrectieOpnieuw proberen met lock_timeout, en de worker herstellen die transacties open laat.

Geen lange inactieve transactie voor de volgende migratie.

06

Trager sinds de deploy van donderdag

Sinds donderdag doet de bestellijst er 4 s over in plaats van 200 ms.

Wakoo vindt

Een nieuwe query sorteert 1,2 M rijen en schrijft 800 MB aan tijdelijke bestanden per run.

CorrectieEen index die de ORDER BY volgt, CONCURRENTLY aangemaakt.

Tijdelijke bestanden en gemiddelde tijd van die query, voor en na.

Hoe de diagnose werkt: bekijk het product.

Gratis check-upscript

Een read-only PostgreSQL-check-up die je zelf draait.

Eén Node.js-script, op je eigen machine met een read-only rol. Het toont een rapport op je scherm en verstuurt niets.

  • Verbindingen en te lange transacties
  • Ongeldige, ongebruikte en dubbele indexen
  • Foreign keys zonder index
  • Zwaarste queries en mogelijke N+1

Iemand van het team mailt je het script binnen 24 uur.

Koppel je eerste database en stop met gokken.

Eerste instantie gratisRead-only