Ad Widget

Collapse

Проблемы с производительностью после переезда

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dedy
    Senior Member
    • Sep 2018
    • 203

    #1

    Проблемы с производительностью после переезда

    Добрый день


    Помогите пожалуйста разобраться с проблемой.

    Переехал забикс сервер с одной страни в другую, раньше был на нашем железе ESXI - сейчас также ESXI но уже в облаке. Ресурcи (ОЗУ\проц\диски ) теже, диски даже тут лучше - взял ссд.

    6 gb ОЗУ
    8 проц по 2,9
    debian 11
    nginx
    postgres 14
    timescaledb


    Единственное отличие это то что на старом сервера веб и база была на разных хостах, тут всё на одном.


    Перенёс базу, ждал пока инфо обновиться, после обновление раз в несколько часов перестают рисоваться графики, в это время в логах вижу slow query с значениями по 100 секунд. Беру проблемный запрос с лога вставляю в консоль и действительно очень долго обрабатывает его.
    Возможно это не сильно по забиксу вопрос а больше по постгрес оптимизации ? Для постгрес взял такой конфиг



    max_connections = 198
    shared_buffers = 1536MB
    effective_cache_size = 4608MB
    maintenance_work_mem = 384MB
    checkpoint_completion_target = 0.9
    wal_buffers = 16MB
    default_statistics_target = 100
    random_page_cost = 1.1
    effective_io_concurrency = 200
    work_mem = 1985kB
    huge_pages = off
    min_wal_size = 1GB
    max_wal_size = 4GB
    max_worker_processes = 8
    max_parallel_workers_per_gather = 4
    max_parallel_workers = 8
    max_parallel_maintenance_workers = 4​


    zabbix конфиг

    LogFileSize=0
    DebugLevel=3
    PidFile=/run/zabbix/zabbix_server.pid
    SocketDir=/run/zabbix
    StartPollers=40
    StartPreprocessors=100
    StartPollersUnreachable=30
    StartHistoryPollers=50
    StartPingers=70
    StartDiscoverers=8
    SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
    HousekeepingFrequency=1
    MaxHousekeeperDelete=10000
    CacheSize=2096M
    StartDBSyncers=8
    HistoryCacheSize=2G
    HistoryIndexCacheSize=1G
    TrendCacheSize=256M
    ValueCacheSize=512M
    Timeout=4
    FpingLocation=/usr/bin/fping
    Fping6Location=/usr/bin/fping6
    SSHKeyLocation=/home/zabbix/.ssh
    LogSlowQueries=3000
    StartLLDProcessors=30
    StatsAllowedIP=127.0.0.1

    Тест сервака https://browser.geekbench.com/v6/cpu/4319911

    прикрепил картинку

    Attached Files
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Добрый день!

    Я на самый большой специалист в области настройки баз данных, но мне кажется, что в данном случае ресурсов серверу PostgreSQL маловато (в первую очередь, оперативной памяти).

    Я у себя в первом приближении выставлял параметры, исходя из советов вот этого калькулятора (ссылка), но при вводе вашей аппаратной конфигурации этот калькулятор и выдаёт примерно такие значения, которые у вас выставлены. Однако, получается, что при текущих настройках у вас под кэш Постгреса выделяется 1.5GB RAM (параметр shared_buffers), но при этом только под разные кэши процессу сервера Zabbix суммарно выделяется почти 6 GB RAM (CacheSize + HistoryCacheSize + HistoryIndexCacheSize + TrendCacheSize + ValueCacheSize); а у вас на этой машине всего 6 GB.

    Мне кажется, что нужно либо разносить эти процессы обратно по разным машинам (я бы, наверное, ещё увеличил бы при этом кэш Postgres-а), либо - как минимум, добавить оперативки на эту машину. Если же такой возможности нет, я бы пробовал уменьшить кэши Zabbix-а, чтобы дать возможность нормально работать серверу PostgreSQL (поскольку без нормальной работы сервера баз данных и сервер Zabbix нормально работать не будет).​

    Comment

    • Alex_UUU
      Senior Member
      • Dec 2018
      • 541

      #3
      Я бы еще посмотрел на индексы. Может слетели

      Comment

      • dedy
        Senior Member
        • Sep 2018
        • 203

        #4
        Originally posted by Alex_UUU
        Я бы еще посмотрел на индексы. Может слетели
        Как это правильно проверить ?

        Comment

        • dedy
          Senior Member
          • Sep 2018
          • 203

          #5
          Разнёс фронт и базу на разные сервера - стало немного легче. Но 2 раза (может быть три) в день в +- пару минут пропадают графики и это продолжается до 30 минут. В логах забикса

          350871:20240115:071954.345 slow query: 68.831522 sec, "select clock,ns,value from history_uint where itemid=756434 and clock<=1705164783 and clock>1705078383 order by clock desc limit 2"
          350871:20240115:072037.880 slow query: 43.534067 sec, "select clock,ns,value from history_uint where itemid=756434 and clock<=1705078383 and clock>1704473583 order by clock desc limit 2"
          350871:20240115:072052.518 slow query: 12.164343 sec, "select clock,ns,value from history_uint where itemid=756442 and clock<=1705294383 and clock>1705251183 order by clock desc limit 3"
          типа такого

          В мониторинге базы я вижу в это время что растёт Lock tables (прикрепил картинку).
          ​​
          Attached Files

          Comment

          • Alex_UUU
            Senior Member
            • Dec 2018
            • 541

            #6
            Originally posted by dedy

            Как это правильно проверить ?
            Когда у меня в Мускуле слетели индексы, я посмотрел скрипты, которые создают БД, посмотрел, какие индексы в таблице и сравнил с теми, которые есть. Затем сделал "восстановление таблицы" стандартными методами мускуля. Как в Постгре - не знаю :-(

            Comment

            • dedy
              Senior Member
              • Sep 2018
              • 203

              #7
              индексы на месте

              Comment

              • dedy
                Senior Member
                • Sep 2018
                • 203

                #8
                Нашел плохое решение которое помогает - это пересоздать timescaledb в постгрес. Тогда всё на некоторое время востанавливается.

                Пока не пересоздам то Zabbix server: Utilization of history syncer internal processes, in % на 100%

                Comment

                Working...