PostgreSQL-i aktiivse seansi ajalugu – uus pgsentineli laiendus

Ettevõte pgsentinel välja antud samanimeline pgsentineli laiend (githubi hoidla), mis lisab PostgreSQL-ile vaate pg_active_session_history - aktiivsete seansside ajalugu (sarnaselt Oracle'i v$active_session_historyga).

Tegelikult on need vaid iga teine ​​pg_stat_activity hetktõmmised, kuid on olulisi punkte:

  1. Kogu kogutud teave salvestatakse ainult RAM-i ja tarbitava mälu mahtu reguleerib viimati salvestatud kirjete arv.
  2. Lisatakse välja queryid - sama päringu ID laiendist pg_stat_statements (vajalik eelinstallimine).
  3. Lisatakse väli top_level_query - selle päringu tekst, millest praegune päring välja kutsuti (pl/pgsql kasutamise korral)


Väljade pg_active_session_history täielik loend:

      veerg | Tüüp ------------------+-------------------------- tuhaaeg | ajatempel ajavööndi kuupäevaga | oid andmenimi | tekst pid | täisarv usesysid | oid kasutajanimi | teksti rakenduse_nimi | tekst kliendi_aadress | tekst kliendi_hostinimi | tekst kliendi_port | täisarv backend_start | ajatempel ajavööndiga xact_start | ajatempel ajavööndiga query_start | ajatempel koos ajavööndi oleku_muutusega | ajatempel ajavööndiga oota_sündmuse_tüüp | tekst oota_sündmust | teksti olek | tekst backend_xid | xid backend_xmin | xid top_level_query | tekstipäring | teksti päringu ID | bigint backend_type | tekst                     

Paigaldamiseks pole veel valmis paketti. Soovitatav on lähtekood alla laadida ja raamatukogu ise ehitada. Esmalt peate installima oma serverisse paketi "devel" ja määrama muutuja PATH tee pg_config. Kogume:

cd pgsentinel/src
tegema
make install

Lisage faili postgres.conf parameetrid:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = kõik

# viimaste mällu salvestatud kirjete arv
pgsentinel_ash.max_entries = 10000

Laadige PostgreSQL uuesti ja looge laiendus:

loo laiend pgsentinel;

Kogutud teave võimaldab meil vastata järgmistele küsimustele:

  • Millistele ootustele kulus seanssidel kõige rohkem aega?
  • Millised seansid olid kõige aktiivsemad?
  • Millised taotlused olid kõige aktiivsemad?

Nendele küsimustele saab muidugi vastuseid SQL päringuid kasutades, kuid mugavam on seda graafikult selgelt näha, tuues hiirega esile huvipakkuvad ajavahemikud. Saate seda teha tasuta programmiga PASH-vaatur (kogutud binaarfailid saate alla laadida jaotises Pressiteated).

PASH-Viewer (alates versioonist 0.4.0) kontrollib käivitamisel pg_active_session_history vaate olemasolu ja kui see on olemas, siis laadib sellelt kogu akumuleeritud ajaloo ning jätkab uute sissetulevate andmete lugemist, uuendades graafikut iga 15 sekundi järel.

PostgreSQL-i aktiivse seansi ajalugu – uus pgsentineli laiendus

Allikas: www.habr.com

Lisa kommentaar