PostgreSQL, den fjerde mest populære database og årets DBMS i 2017, er eksploderet i popularitet blandt udviklings- og databasefællesskaber over hele verden. PostgreSQL-hosting stjæler markedsandele fra førende Oracle, MySQL og Microsoft SQL Server og udnyttes også i høj grad af nye virksomheder i spændende områder som IoT, e-handel, SaaS, analytics og mere.
Så hvad er trending i PostgreSQL Management?
Vi deltog i PostgresOpen i San Francisco i sidste måned for at afsløre de seneste trends fra eksperterne selv.
Mest tidskrævende PostgreSQL-administrationsopgaver
Så hvad spiser din tid på PostgreSQL-administrationsfronten? Selvom der er tusindvis af opgaver involveret i at administrere dine PostgreSQL-produktionsimplementeringer, var administration af forespørgsler den stærke leder med over 30 % fra respondenterne.
At administrere plads var et fjernt sekund, hvor 15 % af PostgreSQL-brugere fandt det deres sværeste opgave, efterfulgt af replikering, opgraderinger og overvågning. 23 % af PostgreSQL-brugere faldt i kategorien "Alle andre", bestående af opgaver som patching, gendannelser, partitionering og migreringer.
Administration af postgreSQL-forespørgselsopdeling
Med langt forspringet til håndtering af PostgreSQL-forespørgsler, dykkede vi dybere for at se, hvilke specifikke opgaver der tærede deres tid. Resultaterne spredte sig over hele processen med at administrere forespørgsler, fra strukturering ved opsætning til optimering efter analyse.
For at forklare dette yderligere, lad os starte ved begyndelsen af forespørgselshåndteringsprocessen:
Forespørgselsstruktur
Det mindste segment, styring af forespørgselsstrukturer, tegnede sig for 22 % af svarene fra PostgreSQL-brugere, der valgte forespørgsler som deres mest tidskrævende administrationsopgave.
Før du går i gang, skal du oprette en PostgreSQL-forespørgselsplan omkring dine klynger for at matche din forespørgselsstruktur med dine dataegenskaber. Disse består af knudepunkter, der spænder fra scanningsnoder på bundniveauet for returnering af rå rækketabeller, sammen med ikke-tabelrækker såsom værdier.
langsom forespørgselsanalyse
Når du har etableret din struktur, er næste trin at analysere dine forespørgsler for at identificere langsomt kørende forespørgsler, der kan påvirke din applikations ydeevne. Som standard er "langsomme forespørgsler" defineret som forespørgsler, der tager længere tid end 100 ms.
Optimering af forespørgsler
Nu hvor du har identificeret dine langsomme forespørgsler, begynder det rigtige arbejde – at optimere dine PostgreSQL-forespørgsler. Postgres præstationsjustering kan være en grufuld opgave, men med korrekt identifikation og analyse kan du skærpe ind på flaskehalsene og foretage dine nødvendige forespørgselsændringer og tilføje indekser, hvor det er nødvendigt for at forbedre din eksekvering. Her er en fantastisk artikel om ydelsesjusteringsforespørgsler i PostgreSQL.
Seneste PostgreSQL-tendenser:Mest tidskrævende opgaver og vigtige målinger at sporeKlik for at tweete
Vigtigste metrics at spore for PostgreSQL-ydeevne
Nu hvor vi har identificeret den mest tidskrævende PostgreSQL-administrationsopgave, lad os tage et dybere kig på de vigtige metrics PostgreSQL-brugere sporer for at optimere deres ydeevne.
De vigtigste PostgreSQL-metrics-resultater var betydeligt mere jævne end administrationsopgaverne, hvilket resulterede i en fire-vejs sammenhæng mellem replikeringsstatistikker, CPU- og RAM-brug, transaktioner per sekund (TPS) , og langsomme forespørgsler:
Replikeringsstatistik
Overvågning af din PostgreSQL-replikeringsstatus er en afgørende opgave for at sikre, at dine replikationer udføres korrekt, og at dine produktionsinstallationer forbliver yderst tilgængelige. Replikeringsprocessen bør tilpasses, så den passer bedst til dine applikationsbehov, og kontinuerlig slutpunktsovervågning er den bedste måde at sikre, at dine data er sikre og klar til gendannelse.
Det er vigtigt at spore metrics på både dine standby-servere og primære servere. Dine standby-servere bør overvåges for indgående replikering og gendannelsesstatus, og dine primære servere bør overvåges for udgående replikering og replikationsslots. Hvis du bruger PostgreSQL-streamingreplikering, er replikationsslots ikke altid nødvendige. Streaming-replikering sikrer den øjeblikkelige datatilgængelighed på dine standby-servere og er ideel til lav-TPS-servere.
CPU &RAM-forbrug
Sporing af din CPU og RAM (hukommelse)-brug er afgørende målinger at overvåge for at sikre sundheden for dine PostgreSQL-servere. Hvis dit CPU-forbrug er for højt, vil din applikation opleve opbremsninger, som får dine brugere til at lide. Det er ofte et resultat af dårligt optimerede forespørgsler eller endda høje forespørgselsparalleller. Overvågning af RAM er meget vigtigt for at sikre, at du har nok diskplads, og for at forstå præcis, hvad din RAM bliver brugt til. Det anbefales at have cirka 25 % af din hukommelse allokeret til shared_buffers. PostgreSQL indstiller også som standard arbejdshukommelsesbufferstørrelsen til 4MB, hvilket ofte er for lidt og resulterer i høje eksekveringstider.
Transaktioner pr. sekund
Overvågning af antallet af transaktioner pr. sekund giver dig mulighed for at bestemme belastningen på systemet og den aktuelle gennemstrømning. Ved at analysere denne metrik kan man beslutte at skalere systemet i overensstemmelse hermed for at opnå den ønskede gennemstrømning. Du kan også bestemme, hvordan en ændring i konfigurationsindstillinger eller systemressourcer påvirker gennemløbet.
Langsomme forespørgsler
Ineffektive forespørgsler kan sænke PostgreSQL-ydelsen, selvom systemet er konfigureret med tilstrækkelige ressourcer. Det er altid en god praksis at analysere disse ineffektive forespørgsler og rette dem. PostgreSQL leverer parameter kaldet log_min_duration_statement . Når dette er indstillet, bevirker det, at varigheden af hver afsluttet sætning logges, hvis sætningen kørte i mindst det angivne antal millisekunder. Når de langsomme forespørgsler er opnået, kan du køre EXPLAIN ANALYZE for at forstå eksekveringsplanen. Dette vil give dig mulighed for at spore problemet og optimere forespørgslen i overensstemmelse hermed. Derfor vil overvågning af de langsomme forespørgsler regelmæssigt undgå langsomheden i ydeevnen.
Find os i næste uge til PostgresConf Silicon Valley 2018-begivenheden, hvor vi håber at afsløre mere indsigt i, hvad der er trending i PostgreSQL-administrationsområdet. Hvis du har spørgsmål eller kommentarer, er du velkommen til at dele dem med os her i vores kommentarer eller på Twitter på @scalegridio.