PostgreSQL aktiv sessiya tarixçəsi - yeni pgsentinel uzantısı

şirkət pgsentinel eyni adlı pgsentinel uzantısını buraxdı (github deposu), bu, PostgreSQL-ə pg_active_session_history görünüşünü əlavə edir - aktiv sessiyaların tarixçəsi (Oracle-ın v$active_session_history-ə bənzər).

Əslində bunlar pg_stat_activity-dən hər ikinci anlıq görüntülərdir, lakin vacib məqamlar var:

  1. Bütün yığılmış məlumatlar yalnız RAM-da saxlanılır və istehlak olunan yaddaşın miqdarı son saxlanılan qeydlərin sayı ilə tənzimlənir.
  2. Queryid sahəsi əlavə edildi - pg_stat_statements genişləndirməsindən eyni sorğuid (əvvəlcədən quraşdırma tələb olunur).
  3. Top_level_query sahəsi əlavə olunur - cari sorğunun çağırıldığı sorğunun mətni (pl/pgsql istifadə edildiyi halda)


pg_active_session_history sahələrinin tam siyahısı:

      sütun | Növ -----------------+-------------------- kül_zamanı | tarixli saat qurşağı ilə vaxt möhürü | oid məlumat adı | mətn pid | tam istifadəsysid | oid istifadə adı | mətn tətbiqi_adı | mətn müştəri_addr | mətn müştəri_hostname | mətn müştəri_port | integer backend_start | xact_start | saat qurşağı ilə vaxt möhürü saat qurşağı query_start | ilə vaxt damğası vaxt qurşağı dövlət_dəyişikliyi ilə vaxt damğası | wait_event_type | saat qurşağı ilə vaxt damğası mətn gözləyin_hadisə | mətn vəziyyəti | mətn backend_xid | xid backend_xmin | xid top_level_query | mətn sorğusu | mətn sorğusu | bigint backend_type | mətn                     

Hələ quraşdırma üçün hazır paket yoxdur. Mənbə kodunu yükləmək və kitabxananı özünüz qurmaq təklif olunur. Əvvəlcə serveriniz üçün “devel” paketini quraşdırmalı və PATH dəyişənində pg_config yolunu təyin etməlisiniz. Biz toplayırıq:

cd pgsentinel/src
etmək
yükləyin

Postgres.conf-a parametrlər əlavə edin:

shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = hamısı

# yaddaşda saxlanılan son qeydlərin sayı
pgsentinel_ash.max_entries = 10000

PostgreSQL-i yenidən yükləyin və genişləndirmə yaradın:

pgsentinel uzantısını yaratmaq;

Yığılmış məlumatlar bizə aşağıdakı kimi suallara cavab verməyə imkan verir:

  • Sessiyalar ən çox hansı gözləntilərə sərf olundu?
  • Hansı seanslar ən aktiv idi?
  • Hansı sorğular ən aktiv olub?

Siz, əlbəttə ki, SQL sorğularından istifadə edərək bu suallara cavab ala bilərsiniz, lakin siçan ilə maraq kəsb edən zaman intervallarını vurğulayaraq bunu qrafikdə aydın görmək daha rahatdır. Bunu pulsuz proqramla edə bilərsiniz PASH Viewer (bölməsində toplanmış ikili faylları yükləyə bilərsiniz Releases).

Başlanğıcda PASH-Viewer (versiya 0.4.0-dan başlayaraq) pg_active_session_history görünüşünün mövcudluğunu yoxlayır və əgər varsa, ondan bütün yığılmış tarixçəni yükləyir və qrafiki hər 15 saniyədən bir yeniləyərək yeni daxil olan məlumatları oxumağa davam edir.

PostgreSQL aktiv sessiya tarixçəsi - yeni pgsentinel uzantısı

Mənbə: www.habr.com

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