PostgreSQL белсенді сеанс тарихы - жаңа pgsentinel кеңейтімі

компания pgsentinel сол аттың pgsentinel кеңейтімін шығарды (github репозиторийі), ол PostgreSQL-ке pg_active_session_history көрінісін қосады — белсенді сеанстар тарихы (Oracle v$active_session_history сияқты).

Негізінде, бұл pg_stat_activity сайтынан секунд сайын түсірілген суреттер, бірақ маңызды тұстары бар:

  1. Барлық жинақталған ақпарат тек жедел жадта сақталады, ал тұтынылатын жад көлемі соңғы сақталған жазбалар санымен реттеледі.
  2. Queryid өрісі қосылды - pg_stat_statements кеңейтіміндегі бірдей сұрау идентификаторы (алдын ала орнату қажет).
  3. Top_level_query өрісі қосылды - ағымдағы сұрау шақырылған сұрау мәтіні (pl/pgsql пайдаланылса)


pg_active_session_history өрістерінің толық тізімі:

      Баған | Түр -----------------+------------------------- күл_уақыты | datid | уақыт белдеуі бар уақыт белгісі oid datename | мәтін pid | integer usesysid | oid қолдану аты | мәтіндік қолданба_атауы | мәтін клиент_адр | мәтін клиент_хостаты | мәтіндік клиент_порты | integer backend_start | xact_start | уақыт белдеуі бар уақыт белгісі query_start | уақыт белдеуі бар уақыт белгісі уақыт белдеуі күйінің_өзгерісі бар уақыт белгісі | күту_оқиғасының түрі | уақыт белдеуі бар уақыт белгісі мәтін күту_оқиғасы | мәтін күйі | мәтін backend_xid | xid backend_xmin | xid top_level_query | мәтіндік сұрау | мәтіндік сұрау коды | bigint backend_type | мәтін                     

Орнату үшін дайын пакет әлі жоқ. Дереккөздерді жүктеп алып, кітапхананы өзіңіз құрастыру ұсынылады. Алдымен серверіңіз үшін «devel» бумасын орнату керек және PATH айнымалысында pg_config жолын орнату керек. Біз жинаймыз:

cd pgsentinel/src
жасау
орнатыңыз

Postgres.conf файлына параметрлерді қосыңыз:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = барлығы

# жадта сақталған соңғы жазбалар саны
pgsentinel_ash.max_entries = 10000

PostgreSQL қайта іске қосыңыз және кеңейтімді жасаңыз:

pgsentinel кеңейтімін жасау;

Жинақталған ақпарат бізге келесі сұрақтарға жауап беруге мүмкіндік береді:

  • Сіз ең көп уақытыңызды қандай күту сеанстарына жұмсадыңыз?
  • Қай сессиялар ең белсенді болды?
  • Қандай сұраныстар ең белсенді болды?

Әрине, сіз бұл сұрақтарға жауаптарды SQL сұраулары арқылы ала аласыз, бірақ оны тінтуірдің көмегімен қызықтыратын уақыт аралығын бөлектеу арқылы графикада көрнекі түрде көру ыңғайлырақ. Мұны тегін бағдарлама арқылы жасауға болады PASH-қарау құралы (бөлімде жиналған екілік файлдарды жүктеп алуға болады хабарламасы).

Іске қосу кезінде PASH-Viewer (0.4.0 нұсқасынан бастап) pg_active_session_history көрінісінің бар-жоғын тексереді және егер ол бар болса, ол одан барлық жинақталған журналды жүктейді және графикті әр 15 секунд сайын жаңарта отырып, жаңа кіріс деректерді оқуды жалғастырады.

PostgreSQL белсенді сеанс тарихы - жаңа pgsentinel кеңейтімі

Ақпарат көзі: www.habr.com

пікір қалдыру