ընկերություն
Ըստ էության, սրանք պարզապես վայրկյան առ վայրկյան նկարներ են pg_stat_activity-ից, բայց կան կարևոր կետեր.
- Ամբողջ կուտակված տեղեկատվությունը պահվում է միայն RAM-ում, իսկ սպառված հիշողության քանակը կարգավորվում է վերջին պահված գրառումների քանակով:
- Հարցման դաշտը ավելացված է. նույն հարցումը pg_stat_statements ընդլայնումից (նախնական տեղադրումը պարտադիր է):
- Ավելացվում է 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-Viewer-ը (սկսած 0.4.0 տարբերակից) ստուգում է pg_active_session_history տեսքի առկայությունը, և եթե այն գոյություն ունի, բեռնում է ամբողջ կուտակված պատմությունը դրանից և շարունակում է կարդալ նոր մուտքային տվյալները՝ թարմացնելով գրաֆիկը յուրաքանչյուր 15 վայրկյանը մեկ:
Source: www.habr.com