PostgreSQL-i aktiivsete sessioonide ajalugu – uus laiendus pgsentinel.

Ettevõte pgsentinel välja andnud samanimelise pgsentinel laienduse (githubi repo), mis lisab PostgreSQL-i pg_active_session_history vaate — aktiivsete seansside ajaloo (sarnanedes Oracle'i v$active_session_history-ga).

Sisuliselt on see lihtsalt igasekundilised hetkepildid pg_stat_activity-st, kuid on olulisi punkte:

  1. Kogu kogutud teave salvestatakse ainult muutmälu, samas kui tarbitav mälu maht reguleeritakse viimaste salvestatud kirjetega.
  2. Lisatakse väli queryid — just see queryid pg_stat_statements laiendusest (nõuab eelnevat installi).
  3. Lisatakse väli top_level_query — päringu tekst, mille kaudu käivitatakse praegune päring (pl/pgsql-i kasutamise korral)


Täielik loetelu pg_active_session_history väljadest:

      Veerg        |           Tüüp           
------------------+--------------------------
 ash_time         | ajatemperatuur koos ajavööndiga 
 datid            | oid                      
 datname          | tekst                    
 pid              | täisarv                 
 usesysid         | oid                      
 usename          | tekst                    
 application_name | tekst                    
 client_addr      | tekst                    
 client_hostname  | tekst                    
 client_port      | täisarv                 
 backend_start    | ajatemperatuur koos ajavööndiga 
 xact_start       | ajatemperatuur koos ajavööndiga 
 query_start      | ajatemperatuur koos ajavööndiga 
 state_change     | ajatemperatuur koos ajavööndiga 
 wait_event_type  | tekst                    
 wait_event       | tekst                    
 state            | tekst                    
 backend_xid      | xid                      
 backend_xmin     | xid                      
 top_level_query  | tekst                    
 query            | tekst                    
 queryid          | bigint                   
 backend_type     | tekst                     

Valmis paketinstallatsiooni jaoks pole hetkel saadaval. Soovitame allalaadida lähtekoodid ja koguda teek ise. Esiteks tuleb installida oma serveri jaoks "devel"-pakett ja PATH-i muutuja alla kirjutada pg_configi tee. Kogume:

cd pgsentinel/src
make
make install

Lisame parameetrid postgres.conf-i:

shared_preload_libraries = ‘pg_stat_statements,pgsentinel’
track_activity_query_size = 2048
pg_stat_statements.track = all

# количество удерживаемых в памяти последних записей
pgsentinel_ash.max_entries = 10000

Taaskäivitame PostgreSQL ja loome laienduse:

create extension pgsentinel;

Kogutud teave võimaldab vastata sellistele küsimustele nagu:

  • Millistel seanssidel veedeti kõige rohkem aega?
  • Millised seansid olid kõige aktiivsemad?
  • Millised päringud olid kõige aktiivsemad?

Need küsimused on võimalikud muidugi SQL-päringutega, kuid mugavam on neid visuaalselt näha graafikul, hiirega huvipakkuvaid ajavahemikke esile tõstes. Saate seda teha tasuta programmi abil PASH-Viewer (koostatavad binaarid on saadaval jaotises Releases).

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

PostgreSQL-i aktiivsete sessioonide ajalugu – uus laiendus pgsentinel.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster