podjetje
V bistvu so to preprosto sekundni posnetki iz pg_stat_activity, vendar obstajajo pomembne točke:
- Vse zbrane informacije so shranjene samo v RAM-u, porabljena količina pomnilnika pa se uravnava s številom zadnjih shranjenih zapisov.
- Dodano je polje queryid – isti queryid iz razširitve pg_stat_statements (potrebna je predhodna namestitev).
- Dodano je polje top_level_query - besedilo poizvedbe, iz katere je bila klicana trenutna poizvedba (če uporabljate pl/pgsql)
Celoten seznam polj pg_active_session_history:
Stolpec | Vnesite ------------------+----------------------------- ash_time | časovni žig z datumom časovnega pasu | oid ime datuma | besedilo pid | celo število usesysid | oid uporabniško ime | besedilo ime_aplikacije | besedilo client_addr | besedilo ime_gostitelja odjemalca | besedilo client_port | celo število backend_start | časovni žig s časovnim pasom xact_start | časovni žig s časovnim pasom query_start | časovni žig s časovnim pasom state_change | časovni žig s časovnim pasom wait_event_type | besedilo wait_event | stanje besedila | besedilo backend_xid | xid backend_xmin | xid najvišja_nivo_poizvedba | besedilna poizvedba | besedilo queryid | bigint backend_type | besedilo
Za namestitev še ni pripravljenega paketa. Predlagamo, da si prenesete vire in sami sestavite knjižnico. Najprej morate namestiti paket »devel« za vaš strežnik in nastaviti pot do pg_config v spremenljivki PATH. Zbiramo:
cd pgsentinel/src
Znamka
make install
Dodajte parametre v postgres.conf:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = vse# število zadnjih zapisov v pomnilniku
pgsentinel_ash.max_entries = 10000
Znova zaženite PostgreSQL in ustvarite razširitev:
ustvari razširitev pgsentinel;
Zbrane informacije nam omogočajo, da odgovorimo na vprašanja, kot so:
- Za katere čakalne dobe ste porabili največ časa?
- Katere seje so bile najbolj aktivne?
- Katere zahteve so bile najbolj aktivne?
Seveda lahko dobite odgovore na ta vprašanja s poizvedbami SQL, vendar je bolj priročno videti to vizualno na grafu, tako da z miško označite časovne intervale, ki vas zanimajo. To lahko storite z brezplačnim programom
Ob zagonu PASH-Viewer (začenši z različico 0.4.0) preveri prisotnost pogleda pg_active_session_history in, če obstaja, naloži celotno zbrano zgodovino iz njega in nadaljuje z branjem novih dohodnih podatkov, tako da graf posodobi vsakih 15 sekund.
Vir: www.habr.com