PostgreSQL aktīvās sesijas vēsture — jauns pgsentinel paplašinājums

kompānija pgsentinel izlaida pgsentinel paplašinājumu ar tādu pašu nosaukumu (github repozitorijs), kas pievieno PostgreSQL skatu pg_active_session_history — aktīvo sesiju vēsturi (līdzīgi Oracle v$active_session_history).

Būtībā tie ir vienkārši sekundāri momentuzņēmumi no pg_stat_activity, taču ir svarīgi punkti:

  1. Visa uzkrātā informācija tiek glabāta tikai RAM, un patērēto atmiņas apjomu regulē pēdējo saglabāto ierakstu skaits.
  2. Tiek pievienots queryid lauks — tas pats vaicājuma ID no paplašinājuma pg_stat_statements (nepieciešama iepriekšēja instalēšana).
  3. Tiek pievienots lauks top_level_query - tā vaicājuma teksts, no kura tika izsaukts pašreizējais vaicājums (ja izmanto pl/pgsql)


Pilns pg_active_session_history lauku saraksts:

      Kolonna | Tips ------------------+------------------------- pelnu_laiks | laika zīmogs ar laika joslas datiem | oid datename | teksta pid | vesels skaitlis usesysid | oid lietotājvārds | teksta pieteikuma_nosaukums | teksta klienta_adrese | teksta klienta_resursdatora nosaukums | teksta klienta_ports | vesels skaitlis backend_start | laikspiedols ar laika joslu xact_start | laikspiedols ar laika joslu query_start | laikspiedols ar laika joslas statusa_maiņu | laikspiedols ar laika joslu gaidīšanas_notikuma_veids | teksts gaidīt_notikums | teksta stāvoklis | teksta backend_xid | xid backend_xmin | xid augstākā_līmeņa_vaicājums | teksta vaicājums | teksta vaicājuma ID | bigint backend_type | tekstu                     

Instalēšanai vēl nav gatavas pakotnes. Ieteicams pašiem lejupielādēt avotus un salikt bibliotēku. Vispirms ir jāinstalē sava servera pakotne “devel” un mainīgajā PATH jāiestata ceļš uz pg_config. Mēs savācam:

cd pgsentinel/src
padarīt
padarīt instalēt

Pievienojiet parametrus vietnei postgres.conf:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = viss

# pēdējo atmiņā saglabāto ierakstu skaits
pgsentinel_ash.max_entries = 10000

Restartējiet PostgreSQL un izveidojiet paplašinājumu:

izveidot paplašinājumu pgsentinel;

Uzkrātā informācija ļauj mums atbildēt uz tādiem jautājumiem kā:

  • Kurās gaidīšanas sesijās jūs pavadījāt visvairāk laika?
  • Kuras sesijas bija visaktīvākās?
  • Kādi pieprasījumi bija visaktīvākie?

Atbildes uz šiem jautājumiem, protams, var iegūt, izmantojot SQL vaicājumus, taču ērtāk to vizuāli redzēt grafikā, ar peli iezīmējot interesējošos laika intervālus. To var izdarīt, izmantojot bezmaksas programmu PASH-Viewer (savāktos bināros failus varat lejupielādēt sadaļā Izlaidumi).

Startējot, PASH-Viewer (sākot ar versiju 0.4.0) pārbauda pg_active_session_history skata esamību un, ja tāds eksistē, ielādē no tā visu uzkrāto vēsturi un turpina lasīt jaunus ienākošos datus, ik pēc 15 sekundēm atjauninot grafiku.

PostgreSQL aktīvās sesijas vēsture — jauns pgsentinel paplašinājums

Avots: www.habr.com

Pievieno komentāru