Aktiivsete seansside ajalugu PostgreSQL-is – uus pgsentinel laiendus.

Ettevõte pgsentinel välja andnud samanimelise laienduse pgsentinel (GitHubi repos), mis lisab PostgreSQL-i vaate pg_active_session_history — aktiivsete sessioonide ajaloo (analoogiliselt orakli v$active_session_history).

Põhimõtteliselt on need lihtsalt igas sekundis tehtavad pildid pg_stat_activity-st, kuid on mõned olulised aspektid:

  1. Kogu kogutud teave salvestatakse ainult vahemällu ja tarbitav mälumaht reguleeritakse viimase salvestatud kirje arvu järgi.
  2. Lisatakse väli queryid — see sama queryid pg_stat_statements laienditest (nõuab eelnevat installimist).
  3. Lisatakse väli top_level_query — päringu tekst, millest käivitus praegune päring (pl/pgsql-i kasutamisel)


Täielik nimekiri pg_active_session_history väljadest:

      Veerg       |           Tüüp           
------------------+--------------------------
 ash_time         | ajatemperatuur 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 ajavööndiga 
 xact_start       | ajatemperatuur ajavööndiga 
 query_start      | ajatemperatuur ajavööndiga 
 state_change     | ajatemperatuur 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 installipaketti pole veel saadaval. Soovitame allalaadimist algsest koodekst ja koguda teegi ise. Eelnevalt on vajalik oma serveri jaoks paigaldada 'devel' pakett ja PATH keskkonnamuutujasse lisada tee pg_config-ini. Kogumine:

cd pgsentinel/src
tee
make install

Lisame parameetrid postgres.conf faili:

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

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

Taaskäivitage PostgreSQL ja looge laiendus:

create extension pgsentinel;

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

  • Millistes ootustes sessioonid veetsid kõige rohkem aega?
  • Millised sessioonid olid kõige aktiivsemad?
  • Millised päringud olid kõige aktiivsemad?

Neile küsimustele saab vastused muidugi SQL-päringutega, kuid mugavam on näha seda visuaalselt graafikult, välja tõstes hiirega huvitavaid ajavahemikke. Saate seda teha tasuta programmiga PASH-Viewer (kokku pandud binaare saab alla laadida jaotises Releases).

PASH-Viewer käivitamisel (alates versioonist 0.4.0) kontrollib see pg_active_session_history olemasolu ning kui see on olemas, laadib see kogu seni kogunenud ajalugu ning jätkab uute saabuvate andmete lugemist, uuendades graafikut iga 15 sekundi järel.

Aktiivsete seansside ajalugu PostgreSQL-is – uus pgsentinel laiendus.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster