PostgreSQL ակտիվ նստաշրջանի պատմություն - նոր pgsentinel ընդլայնում

ընկերություն pgsentinel թողարկել է նույնանուն pgsentinel ընդլայնումը (github պահեստ), որն ավելացնում է pg_active_session_history տեսքը PostgreSQL-ին՝ ակտիվ նիստերի պատմությունը (նման է Oracle-ի v$active_session_history-ին):

Ըստ էության, սրանք պարզապես վայրկյան առ վայրկյան նկարներ են pg_stat_activity-ից, բայց կան կարևոր կետեր.

  1. Ամբողջ կուտակված տեղեկատվությունը պահվում է միայն RAM-ում, իսկ սպառված հիշողության քանակը կարգավորվում է վերջին պահված գրառումների քանակով:
  2. Հարցման դաշտը ավելացված է. նույն հարցումը pg_stat_statements ընդլայնումից (նախնական տեղադրումը պարտադիր է):
  3. Ավելացվում է top_level_query դաշտը - հարցման տեքստը, որից կանչվել է ընթացիկ հարցումը (եթե օգտագործվում է pl/pgsql)


pg_active_session_history դաշտերի ամբողջական ցանկը.

      Սյունակ | Տեսակը -------------------------------------------- ash_time | ժամանակի դրոշմ՝ ժամային գոտիով datid | oid datename | տեքստային պիդ | ամբողջ թվեր օգտագործումysid | oid օգտագործման անվանումը | տեքստային հավելվածի անունը | text client_addr | text client_hostname | text client_port | ամբողջ թիվ backend_start | ժամային դրոշմ՝ xact_start | ժամանակի դրոշմ՝ ժամանակային գոտու հարցում_սկիզբով | ժամանակի դրոշմ՝ ժամանակային գոտու state_change | ժամանակի դրոշմ՝ ժամային գոտու սպասման_իրադարձության_տիպով | տեքստ սպասել_իրադարձություն | տեքստի վիճակը | text backend_xid | xid backend_xmin | xid վերին_մակարդակի_հարցում | տեքստային հարցում | տեքստային հարցում | bigint backend_type | տեքստը                     

Տեղադրման համար պատրաստ փաթեթ դեռ չկա։ Առաջարկվում է ներբեռնել աղբյուրները և ինքնուրույն հավաքել գրադարանը։ Դուք նախ պետք է տեղադրեք «devel» փաթեթը ձեր սերվերի համար և սահմանեք pg_config ուղին PATH փոփոխականում: Մենք հավաքում ենք.

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 ընդլայնում

Source: www.habr.com

Добавить комментарий