PostgreSQL:n aktiivinen istuntohistoria - uusi pgsentinel-laajennus

yritys pgsentinel julkaisi samannimisen pgsentinel-laajennuksen (github-arkisto), joka lisää pg_active_session_history-näkymän PostgreSQL:ään - aktiivisten istuntojen historiaan (samanlainen kuin Oraclen v$active_session_history).

Itse asiassa nämä ovat vain joka toinen tilannekuvia pg_stat_activitysta, mutta on tärkeitä kohtia:

  1. Kaikki kertynyt tieto tallennetaan vain RAM-muistiin, ja kulutetun muistin määrää säätelee viimeksi tallennettujen tietueiden lukumäärä.
  2. Queryid-kenttä lisätään - sama queryid pg_stat_statements-laajennuksesta (vaatii esiasennuksen).
  3. Top_level_query-kenttä lisätään - sen kyselyn teksti, josta nykyinen kysely kutsuttiin (jos käytössä on pl/pgsql)


Täydellinen luettelo pg_active_session_history-kentistä:

      sarake | Tyyppi ------------------+-------------------------- tuhka_aika | aikaleima aikavyöhykkeellä päivätty | oid dataname | teksti pid | kokonaisluku usesysid | oid käyttönimi | teksti sovelluksen_nimi | teksti client_addr | teksti asiakas_isäntänimi | teksti client_port | kokonaisluku backend_start | aikaleima aikavyöhykkeellä xact_start | aikaleima aikavyöhykkeellä query_start | aikaleima aikavyöhykkeen tilamuutos | aikaleima aikavyöhykkeellä wait_event_type | teksti odota_tapahtuma | tekstin tila | teksti backend_xid | xid backend_xmin | xid ylätason_kysely | tekstikysely | tekstikyselytunnus | bigint backend_type | teksti                     

Valmiin asennuspakettia ei vielä ole. On suositeltavaa ladata lähdekoodi ja rakentaa kirjasto itse. Ensin sinun on asennettava "devel"-paketti palvelimellesi ja asetettava polku pg_config PATH-muuttujassa. Keräämme:

cd pgsentinel/src
tehdä
make install

Lisää parametreja postgres.conf-tiedostoon:

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

# muistissa olevien viimeaikaisten tietueiden määrä
pgsentinel_ash.max_entries = 10000

Lataa PostgreSQL uudelleen ja luo laajennus:

luo laajennus pgsentinel;

Kertyneen tiedon avulla voimme vastata kysymyksiin, kuten:

  • Mihin odotuksiin istunnot käyttivät eniten aikaa?
  • Mitkä istunnot olivat aktiivisimpia?
  • Mitkä pyynnöt olivat aktiivisimpia?

Näihin kysymyksiin voi tietysti saada vastauksia SQL-kyselyillä, mutta tämä on kätevämpää nähdä selkeästi kaaviosta korostaen kiinnostavat aikavälit hiirellä. Voit tehdä sen ilmaisella ohjelmalla PASH-katseluohjelma (voit ladata kerätyt binaarit osiosta Tiedotteet).

Käynnistettäessä PASH-Viewer (versiosta 0.4.0 alkaen) tarkistaa pg_active_session_history-näkymän olemassaolon, ja jos se on olemassa, se lataa siitä koko kertyneen historian ja jatkaa uusien saapuvien tietojen lukemista päivittäen kaavion 15 sekunnin välein.

PostgreSQL:n aktiivinen istuntohistoria - uusi pgsentinel-laajennus

Lähde: will.com

Lisää kommentti