VK Cloud logo

PostgreSQL дерекқорлары метрикаларындағы өзгерістер туралы хабарландыруларды баптау

Бұлттық қосымшалардың тұрақты жұмысын қолдау үшін PostgreSQL дерекқорлары метрикаларының мониторингін және олардағы өзгерістер туралы хабарландыруларды баптаңыз.

Дайындық қадамдары

  1. Өтіңіз VK Cloud жеке кабинетіне.
  2. Жобаны таңдаңыз.
  3. Құрыңыз PostgreSQL БД инстансын, егер бұл әлі жасалмаған болса.

1. БД бетіндегі мониторинг деректерін қараңыз

  1. Қараңыз БД инстансы бетіндегі мониторинг деректерін. Келесі метрикаларға назар аударыңыз:

    RAM Used

    Түйіндегі жадтың жалпы көлемінен пайдаланылған жадтың пайызы

    Current CPU

    Түйін процессоры БД инстансы мен онымен байланысты инфрақұрылымның жұмысын қамтамасыз ететін уақыттың пайызы

    Current IOWait

    Енгізу-шығару операцияларының аяқталуын күтуге жұмсалған түйін процессоры ресурстарының жалпы көлемінің пайызы

    Free connections

    Жалпы саннан қолжетімді қосылымдардың пайызы

    Disk used

    Түйіндегі жалпы көлемнен пайдаланылған диск кеңістігінің пайызы

  2. Қосыңыз оларға жылдам қол жеткізу үшін мониторинг деректерін өз графиктеріңізге.

2. Хабарландыруларды баптаңыз

  1. Құрыңыз бір немесе бірнеше хабарландыру арнасын.

  2. Құрыңыз келесі параметрлері бар триггерлерді:

    Метрика атауы

    Шекті мән

    Сипаттама

    mem_used_percent

    > 85-90%

    Жад жүктемесі жоғары

    cpu_usage_user

    > 90%

    Қосымша шамадан тыс жүктелген

    cpu_usage_system

    > 30%

    Жүйелік шақыруларда мәселелер болуы мүмкін

    cpu_usage_iowait

    > 80%

    Диск операцияларын күту пайызы жоғары

    postgresql_free_connections_percent

    < 10-20%

    БД-ға бос қосылымдар аз қалды

    disk_used_percent

    > 85-90%

    Дискте бос орын аз қалды

Шекті мәнге жеткен кезде инцидент жасалып, көрсетілген хабарландыру арнасына хабарлама жіберіледі.

3. Мониторинг деректерін пайдаланыңыз

CPU (Current CPU) және жедел жад (RAM Used) утилизациясының жоғары көрсеткіштері, диск ішкі жүйесіне түсетін жүктеме (Disk used), сондай-ақ дерекқорға түсетін қарқынды немесе біркелкі емес жүктеме (Current IOWait) түйіндерге жоғары жүктеме түскенін немесе индекстер мен сұраулардың оңтайландырылмағанын көрсетеді.

Мысалы, БД әкімшісі атынан PostgreSQL өнімділігін диагностикалаудың кіріктірілген құралдарын пайдаланыңыз:

  • Орындалып жатқан сұраулар бойынша статистиканы жинау үшін pg_stat_activity жүйелік кестесіне сұраулар орындаңыз.

    Қалғандарының бәрінен ұзақ орындалатын сұрауларға назар аударыңыз.

  • Осындай баяу сұраулардағы тар орындарды табу үшін EXPLAIN пәрменін пайдаланыңыз.

    Индекстерді пайдаланбайтын сұрауларға (Seq Scan ішіндегі жолдар саны көп) назар аударыңыз. Қажетті индекстерді құрыңыз немесе жаңартыңыз.

Бос қосылымдардың төмен пайызы (Free connections) бір мезгілде қосылған клиенттердің көп екенін де, ашық қосылымды тым ұзақ пайдаланатын ұзақ транзакциялар бар екенін де көрсетуі мүмкін.

Ресурстарды пайдалануды оңтайландырыңыз:

  • Параметр мәнін арттырыңыз max_connections.
  • Ұзақ транзакциялар болмауы үшін сұрауларды оңтайландырыңыз.
  • Серверге түсетін жүктемені азайту және ресурстарды пайдалануды оңтайландыру үшін PgBouncer пайдаланыңыз.

Пайдаланылмайтын ресурстарды жойыңыз

Жайылған БД инстансы тарификацияланады және есептеу ресурстарын тұтынады. Егер ол енді қажет болмаса, жойыңыз оны.