Historia inayotumika ya kipindi cha PostgreSQL - kiendelezi kipya cha pgsentinel

kampuni pgsentinel ilitoa ugani wa pgsentinel wa jina moja (hazina ya github), ambayo huongeza mwonekano wa pg_active_session_history kwa PostgreSQL - historia ya vipindi vinavyotumika (sawa na v$active_session_history ya Oracle).

Kimsingi, hizi ni muhtasari wa sekunde kwa sekunde kutoka pg_stat_activity, lakini kuna vidokezo muhimu:

  1. Taarifa zote zilizokusanywa zimehifadhiwa tu kwenye RAM, na kiasi kinachotumiwa cha kumbukumbu kinadhibitiwa na idadi ya rekodi zilizohifadhiwa mwisho.
  2. Sehemu ya queryid imeongezwa - swali sawa kutoka kwa kiendelezi cha pg_stat_statements (usakinishaji wa awali unahitajika).
  3. Sehemu ya top_level_query imeongezwa - maandishi ya hoja ambayo hoja ya sasa iliitwa (ikiwa unatumia pl/pgsql)


Orodha kamili ya sehemu za pg_active_session_history:

      Safu | Andika ------------------+------------------------ ash_time | muhuri wa nyakati na eneo la saa datid | oid jina la tarehe | maandishi pid | nambari kamili ya matumizi | oid jina la matumizi | maandishi_jina la maombi | maandishi mteja_addr | maandishi mteja_jina la mwenyeji | matini mteja_bandari | integer backend_start | muhuri wa wakati na eneo la saa xact_start | muhuri wa wakati wenye saa za eneo query_start | muhuri wa saa ulio na mabadiliko ya eneo la saa | muhuri wa saa wenye aina ya saa ya eneo la wait_event | maandishi subiri_tukio | hali ya maandishi | maandishi backend_xid | xid backend_xmin | xid_level_query | swali la maandishi | swali la maandishi | bigint backend_type | maandishi                     

Bado hakuna kifurushi kilichotengenezwa tayari kwa usakinishaji. Inapendekezwa kupakua vyanzo na kukusanya maktaba mwenyewe. Kwanza unahitaji kusakinisha kifurushi cha "kuza" kwa seva yako na uweke njia ya pg_config katika utofauti wa PATH. Tunakusanya:

cd pgsentinel/src
kufanya
kufanya kufunga

Ongeza vigezo kwa postgres.conf:

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

Idadi # ya rekodi za hivi majuzi zilizohifadhiwa
pgsentinel_ash.max_entries = 10000

Anzisha tena PostgreSQL na uunda kiendelezi:

tengeneza pgsentinel ya ugani;

Taarifa iliyokusanywa inatuwezesha kujibu maswali kama vile:

  • Ni vipindi gani vya kusubiri ulitumia muda mwingi?
  • Je, ni vipindi gani vilikuwa vikifanya kazi zaidi?
  • Ni maombi gani yalikuwa amilifu zaidi?

Unaweza, bila shaka, kupata majibu ya maswali haya kwa kutumia maswali ya SQL, lakini ni rahisi zaidi kuona hili kwa kuibua kwenye grafu kwa kuangazia vipindi vya muda vya kupendeza na panya. Unaweza kufanya hivyo na programu ya bure PASH-Mtazamaji (unaweza kupakua jozi zilizokusanywa kwenye sehemu Habari).

Wakati wa kuanza, PASH-Viewer (kuanzia toleo la 0.4.0) hukagua uwepo wa mwonekano wa pg_active_session_history na ikiwa iko, hupakia historia nzima iliyokusanywa kutoka kwayo na inaendelea kusoma data mpya inayoingia, ikisasisha grafu kila baada ya sekunde 15.

Historia inayotumika ya kipindi cha PostgreSQL - kiendelezi kipya cha pgsentinel

Chanzo: mapenzi.com

Kuongeza maoni