NestJS: backend-API:er för företag · Lektion

Övervakning av databasprestanda

Använd Supabase-verktyg och PostgreSQL-funktioner för att övervaka databasens prestanda, identifiera flaskhalsar och följa viktiga mätvärden

Lektion 2 av 611 steg

Övervakning av databasprestanda är en gratis lektion i NestJS: backend-API:er för företag på CoddyKit. Detta är lektion 2 av 6. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för NestJS: backend-API:er för företag, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i NestJS: backend-API:er för företag innehåller totalt 6 lektioner.

Varför övervaka databasens prestanda?

Föreställ dig att din app plötsligt känns långsam. Användarna klagar och operationer tar slut på tid. Övervakning av databasens prestanda är ditt diagnostikverktyg!

Det hjälper dig att:

  • Identifiera långsamma frågor som orsakar flaskhalsar.
  • Förstå resursanvändningen (CPU, RAM).
  • Förhindra avbrott genom att upptäcka problem tidigt.
  • Optimera databasen för snabbhet och effektivitet.

Viktiga prestandaindikatorer (KPI:er)

För att övervaka effektivt behöver Ni veta vad Ni ska hålla utkik efter. Detta är era viktigaste resultatindikatorer:

  • CPU-användning: Hur mycket processorkraft databasen använder. Hög CPU-användning kan innebära komplexa frågor eller för många anslutningar.
  • Minneanvändning: Hur mycket RAM-minne som används. Överdriven användning kan leda till långsammare disk-I/O.
  • Disk-I/O: Hastigheten med vilken data läses från och skrivs till disken. Hög I/O kan tyda på ineffektiva frågor eller saknade index.
  • Aktiva anslutningar: Antalet klienter som för närvarande är anslutna till databasen. För många kan överbelasta servern.
  • Frågelatens: Tiden det tar för frågor att köras. Detta påverkar användarupplevelsen direkt.

Supabase Dashboard: Översikt över mätvärden

Supabase tillhandahåller inbyggda övervakningsverktyg direkt i projektets Dashboard. Gå till avsnittet 'Metrics' för att se en övergripande bild av databasens hälsa.

Här hittar Ni diagram och grafer för CPU-, minnes-, nätverks- och diskanvändning. Detta är ert första stopp för en snabb hälsokontroll!

Dashboard: Fördjupning i resursgrafer

Avsnittet 'Metrics' innehåller detaljer om historisk prestanda. Titta efter:

  • CPU-användning: Toppar sammanfaller ofta med hög frågebelastning.
  • Minneanvändning: En stadig ökning kan tyda på minnesläckor eller ineffektiv cachning.
  • Disk-I/O: Hög läs- och skrivaktivitet kan tyda på frågor som söker igenom stora tabeller utan lämpliga index.
  • Nätverksanvändning: Visar dataöverföringen in och ut, vilket är användbart för att förstå belastningen i kommunikationen mellan klient och server.

Genom att analysera trender över tid kan Ni förstå normalt beteende och upptäcka avvikelser.

Dashboard: Insikter om frågeprestanda

Utöver resursgrafer innehåller Supabase Dashboard ofta ett avsnitt för 'Query Performance' eller 'Insights'. Detta verktyg är ovärderligt för att identifiera era långsammaste frågor.

Det sammanställer data om frågornas körtider, frekvens och totala tidsåtgång. På så sätt kan Ni snabbt hitta de SQL-satser som förbrukar mest resurser och behöver optimeras.

PostgreSQL: pg_stat_activity

För realtidsinsikter i vad databasen gör *just nu* kan Ni använda PostgreSQL-vyn pg_stat_activity. Den visar varje aktiv anslutning och frågan som den för närvarande kör (eller väntar på).

Detta är utmärkt för att upptäcka långkörande frågor eller anslutningar som är inaktiva i en transaktion.

SELECT
  pid,
  datname,
  usename,
  state,
  query_start,
  query
FROM pg_stat_activity
WHERE state = 'active'
ORDER BY query_start DESC;

PostgreSQL: pg_stat_statements

Medan pg_stat_activity används i realtid hjälper pg_stat_statements Er att spåra *historisk* aggregerad statistik för alla körda frågor. Det är ett tillägg som Ni aktiverar.

Det registrerar mätvärden som total körtid, antal anrop och standardavvikelse för varje unik fråga, vilket gör det perfekt för att hitta frågor som konsekvent är långsamma över tid.

Aktivera och använda pg_stat_statements

För att använda pg_stat_statements måste Ni först aktivera det i databasinställningarna för ert Supabase-projekt (under Extensions) eller via SQL i SQL Editor.

När det har aktiverats kör Ni några frågor och frågar sedan vyn för att se statistiken:

CREATE EXTENSION IF NOT EXISTS pg_stat_statements;

SELECT
  query,
  calls,
  total_time,
  mean_time,
  stddev_time
FROM pg_stat_statements
ORDER BY total_time DESC
LIMIT 10;

Tol­ka resultat från pg_stat_statements

När Ni granskar utdata från pg_stat_statements bör Ni fokusera på:

  • total_time: Frågor med längst total körtid är era främsta mål för optimering.
  • mean_time: Hög genomsnittlig körtid visar att en fråga konsekvent är långsam.
  • calls: En fråga som anropas ofta kan, även om den är snabb, bidra betydligt till den totala belastningen om dess total_time är hög.

Använd dessa insikter för att identifiera vilka frågor som behöver åtgärdas, till exempel genom att lägga till index eller skriva om dem.

Kontroll av övervakningsverktyg

Ni har lärt Er om olika verktyg och mätvärden för att övervaka er Supabase-databas. Nu testar vi era kunskaper!

Sammanfattning: Håll databasen frisk

I den här lektionen utforskade vi hur Ni övervakar prestandan i er Supabase-databas. Vi gick igenom:

  • Vikten av övervakning och viktiga KPI:er som CPU, minne och frågelatens.
  • Hur Supabase Dashboards avsnitt för Metrics och Query Performance används.
  • Hur kraftfulla PostgreSQL-vyer som pg_stat_activity kan användas för realtidsinsikter.
  • Hur pg_stat_statements implementeras och tolkas för historisk frågeanalys.

Regelbunden övervakning hjälper Er att proaktivt underhålla en snabb och responsiv applikation. Nästa steg är att optimera de långsamma frågorna!

Gratis att börja

Lär dig TypeScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
20
Lektioner
76

Vanliga frågor

Är lektionen ”Övervakning av databasprestanda” gratis?

Ja – hela texten till ”Övervakning av databasprestanda” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i NestJS: backend-API:er för företag, kan Ni uppgradera till CoddyKit PRO. Kursen i NestJS: backend-API:er för företag innehåller totalt 6 lektioner.

Vad lär jag mig i ”Övervakning av databasprestanda”?

Använd Supabase-verktyg och PostgreSQL-funktioner för att övervaka databasens prestanda, identifiera flaskhalsar och följa viktiga mätvärden Ni övar på NestJS: backend-API:er för företag med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig NestJS: backend-API:er för företag?

Du behöver inga förkunskaper. Utbildningen i NestJS: backend-API:er för företag på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 6.

Hur lång tid tar lektionen ”Övervakning av databasprestanda”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här NestJS: backend-API:er för företag-lektionen?

Ja. Varje NestJS: backend-API:er för företag-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Cache-strategier (Redis)
  2. Övervakning av databasprestanda
  3. Lastbalansering och proxyservrar
  4. Strategier för frågeoptimering
  5. Serverlös distribution
  6. Skalning av ditt Supabase-projekt
← Tillbaka till NestJS: backend-API:er för företag