sql >> Database >  >> RDS >> PostgreSQL

Nieuwste PostgreSQL-trends:de meeste tijdrovende taken en belangrijke statistieken om bij te houden

PostgreSQL, de op drie na populairste database en DBMS van het jaar in 2017, is enorm populair geworden onder de ontwikkelings- en databasegemeenschappen over de hele wereld. PostgreSQL-hosting steelt marktaandeel van leiders Oracle, MySQL en Microsoft SQL Server en wordt ook sterk gebruikt door nieuwe bedrijven in opwindende ruimtes zoals IoT, e-commerce, SaaS, analyse en meer.

Dus wat is er trending in PostgreSQL-beheer?

We waren vorige maand aanwezig bij PostgresOpen in San Francisco om de nieuwste trends van de experts zelf te ontdekken.

Meest tijdrovende PostgreSQL-beheertaken

Dus, wat kost uw tijd op het gebied van PostgreSQL-beheer? Hoewel er duizenden taken betrokken zijn bij het beheren van uw PostgreSQL-productie-implementaties, was het beheren van query's de sterke leider met meer dan 30% van de respondenten.

Het beheren van de ruimte was een verre tweede:15% van de PostgreSQL-gebruikers vond dit de moeilijkste taak, gevolgd door replicatie, upgrades en controle. 23% van de PostgreSQL-gebruikers viel in de categorie "Alle anderen", bestaande uit taken zoals patchen, herstel, partitionering en migraties.

Uitsplitsing van PostgreSQL-query's beheren

Met de grootste voorsprong op het beheren van PostgreSQL-query's, zijn we dieper gedoken om te zien welke specifieke taken hun tijd in beslag namen. De resultaten verspreidden zich over het hele proces van het beheren van query's, van het structureren bij het instellen tot het optimaliseren na analyse.

Om dit verder uit te leggen, beginnen we bij het begin van het querybeheerproces:

Querystructuur

Het kleinste segment, dat querystructuren beheert, was goed voor 22% van de reacties van PostgreSQL-gebruikers die query's selecteerden als hun meest tijdrovende beheertaak.

Voordat u aan de slag gaat, moet u een PostgreSQL-queryplan rond uw clusters maken om uw querystructuur af te stemmen op uw gegevenseigenschappen. Deze bestaan ​​uit knooppunten, variërend van scanknooppunten op het onderste niveau voor onbewerkte rijtabelretouren, samen met niet-tabelrijen zoals waarden.

Langzame zoekopdrachtanalyse

Nadat u uw structuur heeft vastgesteld, is de volgende stap het analyseren van uw query's om langzaam lopende query's te identificeren die de prestaties van uw toepassing kunnen beïnvloeden. Standaard worden "langzame zoekopdrachten" gedefinieerd als zoekopdrachten die langer dan 100 ms duren.

Zoekopdrachten optimaliseren

Nu u uw langzame zoekopdrachten hebt geïdentificeerd, begint het echte werk:het optimaliseren van uw PostgreSQL-query's. Het afstemmen van de prestaties van Postgres kan een gruwelijke taak zijn, maar met de juiste identificatie en analyse kunt u de knelpunten aanscherpen en de nodige querywijzigingen doorvoeren en waar nodig indexen toevoegen om uw uitvoering te verbeteren. Hier is een geweldig artikel over prestatieafstemmingsquery's in PostgreSQL.

Laatste PostgreSQL-trends:de meeste tijdrovende taken en belangrijke statistieken om te volgen Klik om te tweeten

Belangrijkste statistieken om bij te houden voor PostgreSQL-prestaties

Nu we de meest tijdrovende PostgreSQL-beheertaak hebben geïdentificeerd, gaan we dieper in op de belangrijke statistieken die PostgreSQL-gebruikers bijhouden om hun prestaties te optimaliseren.

De belangrijkste resultaten van PostgreSQL-statistieken waren aanzienlijk gelijkmatiger dan de beheertaken, wat resulteerde in een viervoudige relatie tussen replicatiestatistieken, CPU- en RAM-gebruik, transacties per seconde (TPS) , en langzame zoekopdrachten:

Replicatiestatistieken

Het bewaken van uw PostgreSQL-replicatiestatus is een cruciale taak om ervoor te zorgen dat uw replicaties correct worden uitgevoerd en dat uw productie-implementaties maximaal beschikbaar blijven. Het replicatieproces moet worden aangepast aan uw toepassingsbehoeften, en continue eindpuntbewaking is de beste manier om ervoor te zorgen dat uw gegevens veilig zijn en klaar zijn voor herstel.

Het is belangrijk om statistieken bij te houden op zowel uw standby-servers als uw primaire servers. Uw standby-servers moeten worden gecontroleerd op inkomende replicatie en herstelstatus, en uw primaire servers moeten worden gecontroleerd op uitgaande replicatie en replicatieslots. Als u PostgreSQL-streamingreplicatie gebruikt, zijn replicatieslots niet altijd vereist. Streaming-replicatie zorgt voor de onmiddellijke beschikbaarheid van gegevens op uw standby-servers en is ideaal voor servers met een laag TPS.

CPU- en RAM-gebruik

Het bijhouden van uw CPU- en RAM-(geheugen)gebruik zijn cruciale meetwaarden om te controleren om de gezondheid van uw PostgreSQL-servers te waarborgen. Als uw CPU-gebruik te hoog is, zal uw toepassing vertragingen ondervinden, waardoor uw gebruikers eronder lijden. Het is vaak het gevolg van slecht geoptimaliseerde zoekopdrachten, of zelfs hoge parallelle zoekopdrachten. Het controleren van RAM is erg belangrijk om ervoor te zorgen dat u voldoende schijfruimte heeft en om precies te begrijpen waarvoor uw RAM wordt gebruikt. Het wordt aanbevolen om ongeveer 25% van uw geheugen toe te wijzen aan shared_buffers. PostgreSQL stelt ook standaard de werkgeheugenbuffergrootte in op 4 MB, wat vaak te weinig is en resulteert in hoge uitvoeringstijden.

Transacties per seconde

Door het aantal transacties per seconde te controleren, kunt u de belasting van het systeem en de huidige doorvoer bepalen. Door deze statistiek te analyseren, kan men besluiten het systeem dienovereenkomstig te schalen om de gewenste doorvoer te bereiken. U kunt ook bepalen hoe een wijziging in configuratie-instellingen of systeembronnen de doorvoer beïnvloedt.

Langzame zoekopdrachten

Inefficiënte query's kunnen de PostgreSQL-prestaties vertragen, zelfs als het systeem is geconfigureerd met voldoende bronnen. Het is altijd een goede gewoonte om deze inefficiënte zoekopdrachten te analyseren en op te lossen. PostgreSQL biedt parameter genaamd log_min_duration_statement . Als dit is ingesteld, wordt de duur van elke voltooide instructie gelogd als de instructie ten minste het opgegeven aantal milliseconden heeft geduurd. Zodra de langzame query's zijn verkregen, kunt u EXPLAIN ANALYZE uitvoeren om het uitvoeringsplan te begrijpen. Hierdoor kunt u het probleem volgen en de zoekopdracht dienovereenkomstig optimaliseren. Daarom zal het regelmatig controleren van de trage zoekopdrachten de trage prestaties voorkomen.

Vind ons volgende week op het PostgresConf Silicon Valley 2018-evenement waar we hopen meer inzichten te krijgen over wat er trending is in de PostgreSQL-beheerruimte. Als u vragen of opmerkingen heeft, kunt u deze met ons delen hier in onze opmerkingen of op Twitter op @scalegridio.


  1. Lichtgewicht WordPress-installatie:WordPress installeren met SQLite

  2. XMLAGG met RTRIM-probleem

  3. Hoe de database te controleren op een niet-geroot Android-apparaat?

  4. MySQL-installatie