sql >> Databasteknik >  >> RDS >> PostgreSQL

Senaste PostgreSQL-trender:mest tidskrävande uppgifter och viktiga mätvärden att spåra

PostgreSQL, den fjärde mest populära databasen och årets DBMS 2017, har exploderat i popularitet bland utvecklings- och databasgemenskaper över hela världen. Genom att stjäla marknadsandelar från ledande Oracle, MySQL och Microsoft SQL Server, utnyttjas PostgreSQL-hosting också i hög grad av nya företag inom spännande områden som IoT, e-handel, SaaS, analys och mer.

Så vad är trenden inom PostgreSQL Management?

Vi deltog i PostgresOpen i San Francisco förra månaden för att avslöja de senaste trenderna från experterna själva.

Mest tidskrävande PostgreSQL-hanteringsuppgifter

Så, vad äter din tid på PostgreSQL-hanteringsfronten? Även om det finns tusentals uppgifter involverade i att hantera dina PostgreSQL-produktionsinstallationer, var hantering av frågor den starka ledaren med över 30 % från svarande.

Hantera utrymme var en avlägsen sekund med 15 % av PostgreSQL-användare som tyckte att det var sin svåraste uppgift, följt av replikering, uppgraderingar och övervakning. 23 % av PostgreSQL-användarna föll i kategorin "Alla andra", bestående av uppgifter som korrigering, återställning, partitionering och migrering.

Hantera uppdelning av PostgreSQL-frågor

Med långt försprång när det gäller att hantera PostgreSQL-frågor, gick vi djupare för att se vilka specifika uppgifter som tog deras tid. Resultaten spreds över hela processen med att hantera frågor, från strukturering vid installation till optimering efter analys.

För att förklara detta ytterligare, låt oss börja i början av frågehanteringsprocessen:

Frågestruktur

Det minsta segmentet, hantering av frågestrukturer, stod för 22 % av svaren från PostgreSQL-användare som valde frågor som sin mest tidskrävande hanteringsuppgift.

Innan du börjar måste du skapa en PostgreSQL-frågeplan runt dina kluster för att matcha din frågestruktur med dina dataegenskaper. Dessa består av noder, allt från skanningsnoder på bottennivån för råradtabellsreturer, tillsammans med icke-tabellrader såsom värden.

Långsam frågeanalys

När du har etablerat din struktur är nästa steg att analysera dina frågor för att identifiera långsamma frågor som kan påverka din applikations prestanda. Som standard definieras "långsamma frågor" som frågor som tar längre tid än 100 ms.

Optimeringsfrågor

Nu när du har identifierat dina långsamma frågor börjar det verkliga arbetet – att optimera dina PostgreSQL-frågor. Postgres prestandajustering kan vara en fruktansvärd uppgift, men med korrekt identifiering och analys kan du skärpa in på flaskhalsarna och göra dina nödvändiga frågeändringar och lägga till index där det behövs för att förbättra ditt exekvering. Här är en bra artikel om prestandajusteringsfrågor i PostgreSQL.

Senaste PostgreSQL-trender:mest tidskrävande uppgifter och viktiga mätvärden att spåraKlicka för att tweeta

De viktigaste mätvärdena att spåra för PostgreSQL-prestanda

Nu när vi har identifierat den mest tidskrävande PostgreSQL-hanteringsuppgiften, låt oss ta en djupare titt på de viktiga mätvärden som PostgreSQL-användare spårar för att optimera sin prestanda.

De viktigaste PostgreSQL-mätresultaten var betydligt jämnare än hanteringsuppgifterna, vilket resulterade i en fyrvägskoppling mellan replikeringsstatistik, CPU- och RAM-användning, transaktioner per sekund (TPS) , och långsamma frågor:

Replikeringsstatistik

Att övervaka din PostgreSQL-replikeringsstatus är en avgörande uppgift för att säkerställa att dina replikeringar körs korrekt och att dina produktionsinstallationer förblir mycket tillgängliga. Replikeringsprocessen bör anpassas för att bäst passa dina applikationsbehov, och kontinuerlig slutpunktsövervakning är det bästa sättet att säkerställa att din data är säker och redo för återställning.

Det är viktigt att spåra mätvärden på både dina standby-servrar och primära servrar. Dina standbyservrar bör övervakas för inkommande replikerings- och återställningsstatus, och dina primära servrar bör övervakas för utgående replikerings- och replikeringsplatser. Om du använder PostgreSQL strömmande replikering krävs inte alltid replikeringsplatser. Strömmande replikering säkerställer omedelbar datatillgänglighet på dina standby-servrar och är idealisk för servrar med låg TPS.

CPU &RAM-användning

Att spåra din CPU- och RAM-användning (minne) är avgörande mätvärden att övervaka för att säkerställa hälsan hos dina PostgreSQL-servrar. Om din CPU-användning är för hög kommer din applikation att uppleva nedgångar som gör att dina användare lider. Det är ofta ett resultat av dåligt optimerade frågor, eller till och med höga frågeparallellismer. Övervakning av RAM-minne är mycket viktigt för att säkerställa att du har tillräckligt med diskutrymme och för att förstå exakt vad ditt RAM-minne används till. Det rekommenderas att ha cirka 25 % av ditt minne tilldelat för shared_buffers. PostgreSQL ställer också in arbetsminnets buffertstorlek som standard till 4MB, vilket ofta är för lite och resulterar i långa körtider.

Transaktioner per sekund

Övervakning av antalet transaktioner per sekund låter dig bestämma belastningen på systemet och aktuell genomströmning. Genom att analysera detta mått kan man bestämma sig för att skala systemet därefter för att uppnå önskad genomströmning. Du kan också bestämma hur en ändring i konfigurationsinställningar eller systemresurser påverkar genomströmningen.

Långsamma frågor

Ineffektiva frågor kan sakta ner PostgreSQL-prestanda även om systemet är konfigurerat med tillräckliga resurser. Det är alltid bra att analysera dessa ineffektiva frågor och åtgärda dem. PostgreSQL tillhandahåller en parameter som heter log_min_duration_statement . När detta är inställt gör det att varaktigheten för varje avslutad sats loggas om satsen kördes i minst det angivna antalet millisekunder. När de långsamma frågorna har erhållits kan du köra EXPLAIN ANALYZE för att förstå exekveringsplanen. Detta gör att du kan spåra problemet och optimera frågan därefter. Följaktligen kommer att övervaka långsamma frågor regelbundet undvika långsamma prestanda.

Hitta oss nästa vecka på PostgresConf Silicon Valley 2018-evenemanget där vi hoppas kunna avslöja fler insikter om vad som är trendigt i PostgreSQL-hanteringsutrymmet. Om du har några frågor eller kommentarer, dela dem gärna med oss ​​här i våra kommentarer eller på Twitter på @scalegridio.


  1. Hur ändrar jag positionen för en kolumn i en PostgreSQL-databastabell?

  2. Crow's Foot Notation

  3. De bästa ETL-verktygen för att migrera till PostgreSQL

  4. Generera MD5-hashsträng med T-SQL