selskab
Faktisk er disse blot hvert andet øjebliksbilleder fra pg_stat_activity, men der er vigtige punkter:
- Al akkumuleret information gemmes kun i RAM, og mængden af forbrugt hukommelse reguleres af antallet af de sidst gemte poster.
- Forespørgsels-id-feltet tilføjes - det samme forespørgsels-id fra udvidelsen pg_stat_statements (forudinstallation påkrævet).
- Top_level_query-feltet tilføjes - teksten i forespørgslen, hvorfra den aktuelle forespørgsel blev kaldt (i tilfælde af brug af pl/pgsql)
Fuld liste over pg_active_session_history-felter:
kolonne | Indtast ------------------+--------------------------- ash_time | tidsstempel med tidszone dateret | oid datanavn | tekst pid | heltal usesysid | oid brugernavn | tekst applikationsnavn | tekst client_addr | tekst klient_værtsnavn | tekst klient_port | heltal backend_start | tidsstempel med tidszone xact_start | tidsstempel med tidszone query_start | tidsstempel med tidszone state_change | tidsstempel med tidszone wait_event_type | tekst wait_event | teksttilstand | tekst backend_xid | xid backend_xmin | xid top_level_query | tekstforespørgsel | tekst queryid | bigint backend_type | tekst
Der er endnu ingen klar pakke til installation. Det foreslås at downloade kildekoden og selv bygge biblioteket. Først skal du installere "devel"-pakken til din server og sætte stien til pg_config i PATH-variablen. Vi indsamler:
cd pgsentinel/src
lave
make install
Tilføj parametre til postgres.conf:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = alle# antal seneste rekorder i hukommelsen
pgsentinel_ash.max_entries = 10000
Genindlæs PostgreSQL og opret en udvidelse:
oprette udvidelse pgsentinel;
Den akkumulerede information giver os mulighed for at besvare spørgsmål som:
- Hvilke forventninger brugte sessionerne mest tid på?
- Hvilke sessioner var de mest aktive?
- Hvilke anmodninger var de mest aktive?
Du kan selvfølgelig få svar på disse spørgsmål ved hjælp af SQL-forespørgsler, men det er mere bekvemt at se dette tydeligt på diagrammet og fremhæve tidsintervallerne af interesse med musen. Du kan gøre det med et gratis program
Ved opstart tjekker PASH-Viewer (startende fra version 0.4.0) for tilstedeværelsen af visningen pg_active_session_history, og hvis den eksisterer, indlæser den hele den akkumulerede historie fra den og fortsætter med at læse nye indkommende data, idet den opdaterer grafen hvert 15. sekund.
Kilde: www.habr.com