História aktívnej relácie PostgreSQL - nové rozšírenie pgsentinel

spoločnosť pgsentinel vydala rozšírenie pgsentinel s rovnakým názvom (úložisko github), ktorý pridáva pohľad pg_active_session_history do PostgreSQL — históriu aktívnych relácií (podobne ako v$active_session_history od Oracle).

V podstate sú to jednoducho sekundové snímky z pg_stat_activity, ale sú tu dôležité body:

  1. Všetky nahromadené informácie sú uložené iba v pamäti RAM a množstvo spotrebovanej pamäte je regulované počtom posledných uložených záznamov.
  2. Pridá sa pole queryid – rovnaké queryid z rozšírenia pg_stat_statements (vyžaduje sa predinštalácia).
  3. Pridá sa pole top_level_query - text dotazu, z ktorého bol volaný aktuálny dotaz (ak používate pl/pgsql)


Úplný zoznam polí pg_active_session_history:

      Stĺpec | Typ ------------------+------------------------- čas_popolu | časová pečiatka s časovým pásmom datid | oid názov dátumu | text pid | celé číslo usesysid | oid používateľské meno | text názov_aplikácie | text client_addr | text client_hostname | text client_port | celé číslo backend_start | časová pečiatka s časovou zónou xact_start | časová značka s časovým pásmom query_start | časová pečiatka s časovým pásmom state_change | časová pečiatka s časovým pásmom wait_event_type | text wait_event | textový stav | text backend_xid | xid backend_xmin | xid top_level_query | textový dopyt | text dotazu | bigint backend_type | text                     

Zatiaľ neexistuje žiadny hotový balík na inštaláciu. Odporúča sa stiahnuť si zdroje a zostaviť knižnicu sami. Najprv musíte nainštalovať balík „devel“ pre váš server a nastaviť cestu na pg_config v premennej PATH. Zbierame:

cd pgsentinel/src
činiť
make install

Pridajte parametre do postgres.conf:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = všetko

# počet posledných záznamov uložených v pamäti
pgsentinel_ash.max_entries = 10000 XNUMX

Reštartujte PostgreSQL a vytvorte rozšírenie:

vytvoriť rozšírenie pgsentinel;

Nazhromaždené informácie nám umožňujú odpovedať na otázky, ako napríklad:

  • Na ktorých čakacích stretnutiach ste strávili najviac času?
  • Ktoré relácie boli najaktívnejšie?
  • Aké požiadavky boli najaktívnejšie?

Odpovede na tieto otázky môžete, samozrejme, získať pomocou SQL dotazov, ale je pohodlnejšie to vidieť vizuálne na grafe zvýraznením požadovaných časových intervalov pomocou myši. Môžete to urobiť pomocou bezplatného programu PASH-Viewer (zozbierané binárne súbory si môžete stiahnuť v sekcii Správy).

Pri spustení PASH-Viewer (od verzie 0.4.0) skontroluje prítomnosť pohľadu pg_active_session_history a ak existuje, načíta z neho celú nahromadenú históriu a pokračuje v čítaní nových prichádzajúcich údajov, pričom graf aktualizuje každých 15 sekúnd.

História aktívnej relácie PostgreSQL - nové rozšírenie pgsentinel

Zdroj: hab.com

Pridať komentár