PostgreSQL aktiewe sessie geskiedenis - nuwe pgsentinel uitbreiding

maatskappy pgsentinel vrygestel pgsentinel uitbreiding met dieselfde naam (github-bewaarplek), wat die pg_active_session_history-aansig by PostgreSQL voeg - die geskiedenis van aktiewe sessies (soortgelyk aan Oracle se v$active_session_history).

Trouens, dit is net elke tweede kiekies van pg_stat_activity, maar daar is belangrike punte:

  1. Alle opgehoopte inligting word slegs in RAM gestoor, en die hoeveelheid geheue wat verbruik word, word gereguleer deur die aantal laaste gestoorde rekords.
  2. Die queryid-veld word bygevoeg - dieselfde queryid van die pg_stat_statements-uitbreiding (voorafinstallasie vereis).
  3. Die top_level_query-veld word bygevoeg - die teks van die navraag waaruit die huidige navraag geroep is (in die geval van die gebruik van pl/pgsql)


Volledige lys pg_active_session_history-velde:

      kolom | Tik ------------------+-------------------------------- ash_time | tydstempel met tydsone gedateer | oid datanaam | teks pid | heelgetal usesysid | oid gebruiksnaam | teks aansoeknaam | teks kliΓ«nt_addr | teks kliΓ«nt_gasheernaam | teks kliΓ«nt_poort | heelgetal backend_start | tydstempel met tydsone xact_start | tydstempel met tydsone query_start | tydstempel met tydsone state_change | tydstempel met tydsone wait_event_type | teks wag_gebeurtenis | teks staat | teks backend_xid | xid backend_xmin | xid top_level_query | teksnavraag | teks queryid | bigint backend_type | teks                     

Daar is nog geen gereed pakket vir installasie nie. Daar word voorgestel om die bronkode af te laai en die biblioteek self te bou. Eerstens moet u die "devel"-pakket vir u bediener installeer en die pad na pg_config in die PATH-veranderlike stel. Ons versamel:

cd pgsentinel/src
maak
maak installeer

Voeg parameters by postgres.conf:

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

# aantal onlangse rekords wat in die geheue gehou word
pgsentinel_ash.max_entries = 10000

Herlaai PostgreSQL en skep 'n uitbreiding:

skep uitbreiding pgsentinel;

Die opgehoopte inligting stel ons in staat om vrae te beantwoord soos:

  • Aan watter verwagtinge het die sessies die meeste tyd bestee?
  • Watter sessies was die aktiefste?
  • Watter versoeke was die aktiefste?

U kan natuurlik antwoorde op hierdie vrae kry deur gebruik te maak van SQL-navrae, maar dit is geriefliker om dit duidelik op die grafiek te sien en die tydintervalle van belang met die muis uit te lig. Jy kan dit doen met 'n gratis program PASH-kyker (Jy kan die versamelde binaries in die afdeling aflaai Releases).

By opstart, kyk PASH-Viewer (begin vanaf weergawe 0.4.0) vir die teenwoordigheid van die pg_active_session_history-aansig, en as dit bestaan, laai dit die hele opgehoopte geskiedenis daaruit en gaan voort om nuwe inkomende data te lees, en werk die grafiek elke 15 sekondes op.

PostgreSQL aktiewe sessie geskiedenis - nuwe pgsentinel uitbreiding

Bron: will.com

Voeg 'n opmerking