sql >> Databasteknik >  >> RDS >> PostgreSQL

pgDash Diagnostics Alternatives - PostgreSQL Query Management med ClusterControl

Databaser handlar bara om frågor. Du lagrar din data i dem och då måste du kunna hämta den på något sätt. Här kommer frågor – du skriver dem på något språk, strukturerade eller inte, på så sätt definierar du vilken data du vill hämta. Helst skulle dessa frågor vara snabba, trots allt vill vi inte vänta på vår data. Det finns många verktyg som låter dig förstå hur dina frågor beter sig och hur de presterar. I det här blogginlägget kommer vi att jämföra pgDash och ClusterControl. I båda fallen är frågeprestanda bara en del av funktionaliteten. Låt oss ta en titt på dem utan att behöva betala mer.

Vad är pgDash?

pgDash är ett verktyg dedikerat till att övervaka PostgreSQL och övervakning av frågeprestanda är en av de tillgängliga funktionerna.

pgDash kräver pg_stat_statements för att få data. Det är möjligt att visa frågor per databas. Du kan definiera vilka kolumner som ska vara synliga (som standard visas inte några av dem, för att göra data lättare att läsa). Du kan se flera typer av data som exekveringstid (genomsnitt, max, min, totalt) men också information om tillfälliga block, rader åtkomst, diskåtkomst och buffertträff. Detta skapar en bra inblick i hur en given fråga presterar och vad som kan vara anledningen till att den inte fungerar på ett effektivt sätt. Du kan sortera data genom att använda vilken kolumn som helst och leta efter frågor som till exempel är de långsammaste eller som skriver de mest tillfälliga blocken.

Om det behövs kan du slå upp frågor som körs i ett definierat tidsfönster.

Granulariteten här är en minut.

För varje fråga på listan kan du klicka och se mer detaljerad statistik.

Du kan se den exakta frågan, vissa data på den (diskåtkomst, delad buffertåtkomst, tillfälligt blockerar åtkomst). Det är också möjligt att aktivera testning och lagring av exekveringsplanen för frågorna. Slutligen kan du se graferna som visar hur prestandan för frågan förändrades över tiden.

På det hela taget ger pgDash en bra inblick i frågeprestandamåtten i PostgreSQL.

ClusterControl PostgreSQL Query Monitoring &Management

ClusterControl levereras med Query Monitor som är avsedd att ge användarna insikt i prestandan för deras frågor. Query Monitor kan användas för PostgreSQL men även för MySQL och Galera Cluster.

ClusterControl visar data samlad över alla databaser och värdar i klustret. Listan med frågor innehåller information om prestationsrelaterade mätvärden. Antal förekomster, granskade rader, temporära tabeller, maximal, genomsnittlig och total exekveringstid. Listan kan sorteras med några av kolumnerna (förekomster, max, medelvärde, standardavvikelse och total körningstid).

Varje fråga kan klickas på, den visar hela frågetexten, lite extra detaljer och allmänna optimeringstips.

ClusterControl kommer också med Query Outliers-modulen.

Om det finns några frågor som avviker från den genomsnittliga prestandan för den specifika frågan typ, kommer de att visas i det här avsnittet, så att användaren bättre kan förstå vilka frågor som fungerar inkonsekvent och försöka hitta grundorsaken till detta.

PostgreSQL-tabell- och indexmått

Utöver data som är direkt relaterade till frågeprestanda, ger båda verktygen information om andra interna delar som kan påverka frågeprestanda.

pgDash har en "Verktyg"-sektion där du kan samla information om index, tabellstorlek och uppsvällning:

Liknande data finns i ClusterControl, i Query Statistics:

Det är möjligt att kontrollera I/O-statistiken för tabeller och index, tabell- och indexuppsvällning, oanvända eller dubblerade index. Du kan också kontrollera vilka tabeller som är mer benägna att nås med hjälp av index- eller sekventiell genomsökning. Du kan också kontrollera storleken på de största tabellerna och databaserna.

Slutsats

Vi hoppas att den här korta bloggen ger dig insikt i hur ClusterControl kan jämföras med pgDash i funktioner relaterade till frågeprestanda. Kom ihåg att ClusterControl inte bara är avsedd att hjälpa dig med prestandaövervakning utan också att bygga och distribuera HA-stackar för flera Open Source-databaser, utföra konfigurationshantering, definiera och köra säkerhetskopieringsscheman och många fler funktioner. Om du är intresserad av ClusterControl kan du ladda ner det gratis.


  1. Varför förbrukar iteration genom en stor Django QuerySet enorma mängder minne?

  2. Hur ser man index för en databas eller tabell i MySQL?

  3. Hur man installerar MySQL 8 på Ubuntu

  4. Vad kan orsaka intermittenta ORA-12519 (TNS:ingen lämplig hanterare hittades) fel