/
Настройка тайм-аутов

Настройка тайм-аутов

Иногда стандартных значений тайм-аутов загрузки или визуализации данных может быть недостаточно. Администратор платформы может изменить эти значения.

Пожалуйста, примите во внимание, что изменение значений тайм-аутов может повлиять на работу других модулей платформы. Если вы измените тайм-аут для одного модуля, вам также может потребоваться изменить тайм-аут для другого модуля, который взаимодействует с ним. Внимательно изучите инструкцию, чтобы правильно настроить тайм-ауты для всех взаимосвязанных модулей.

Настройка тайм-аутов для загрузки данных с помощью JDBC

Настройка тайм-аута на получение метаданных

Для установки тайм-аута, по истечении которого прекратится получение данных о таблицах, выполните следующие шаги:

  1. Добавьте в файл /var/lib/visiology/scripts/v3/env-files/dm.env требуемое значение для таймаута в переменную TimeoutSettings__ClickhouseHttpClient:

    TimeoutSettings__ClickhouseHttpClient=00:01:40
  2. Перезапустите платформу, выполнив следующую команду:
    /var/lib/visiology/scripts/run.sh --restart

Настройка тайм-аута на загрузку таблицы

Для установки тайм-аута, по истечении которого прекратится загрузка таблицы, необходимо сделать следующее:

  1. Остановите платформу, выполнив команду:

    /var/lib/visiology/scripts/run.sh --stop

  2. Добавьте в файл /var/lib/visiology/scripts/v3/env-files/fe.env требуемое значение для таймаута в переменную RefreshDataJob__Timeout:

    RefreshDataJob__Timeout=05:00:00
  3. Откройте файл /var/lib/visiology/scripts/v3/configs/jdbc-bridge-server.json.

  4. Найдите следующие элементы и укажите значение тайм-аута не меньше, чем в шаге 2 (в миллисекундах). В нашем примере это 18000000 миллисекунд (5 часов):

    • "requestTimeout" – тайм-аут на выполнение сервисного запроса в JDBC Bridge. Значение по умолчанию – 5 часов.

    • "queryTimeout" – тайм-аут на выполнение SQL-запроса в JDBC Bridge. Значение по умолчанию – 5 часов.

      settings5.png
  5. Выполните следующую команду:
    /var/lib/visiology/scripts/v3/prepare-config.sh --force-regenerate-configs

  6. Перезапустите платформу, выполнив следующую команду:
    /var/lib/visiology/scripts/run.sh --restart

Настройка тайм-аута для HTTP-запросов

  1. Добавьте в файл /var/lib/visiology/scripts/v3/env-files/dm.env требуемое значение для таймаута в переменную TimeoutSettings__HttpClient:

    TimeoutSettings__HttpClient=00:01:40

    Продолжительность тайм-аута измеряется в часах, минутах и секундах и влияет на два процесса:

    • отправку данных из Data Management Service в Formula Engine;

    • отправку запросов из Data Management Service в Formula Engine.

      settings3.png
  2. Перезапустите платформу, выполнив следующую команду:
    /var/lib/visiology/scripts/run.sh --restart

Настройка тайм-аута для визуализации данных

  1. Остановите платформу, выполнив следующую команду:
    /var/lib/visiology/scripts/run.sh --stop

  2. Добавьте в файл /var/lib/visiology/scripts/v3/env-files/ds.env требуемое значение для таймаута в переменные Dashboards__GetWidgetDataTimeout и Dashboards__ExportWidgetDataTimeout:

    • GetWidgetDataTimeout – тайм-аут в секундах, который влияет на запрос данных для виджета с Dashboard Service на Formula Engine при отрисовке виджета. Значение по умолчанию – 100 секунд. 

    • ExportWidgetDataTimeout – тайм-аут в секундах, который влияет на получение данных для виджета с Dashboard Service на Formula Engine при экспорте данных виджета. Значение по умолчанию – 100 секунд. 

  3. Скопируйте из файла /var/lib/visiology/scripts/v3/configs/formula-engine.json секцию ClickHouseSettings > ConnectionString в файл /var/lib/visiology/scripts/v3/custom-configs/custom-formula-engine.json и для элементов Timeout и set_max_execution_time укажете значение тайм-аута не меньше, чем в шаге 2 (в секундах).

    Пример файла /var/lib/visiology/scripts/v3/custom-configs/custom-formula-engine.json с значениями Timeout и set_max_execution_time равными 180 секунд:

    Данные тайм-ауты влияют на выполнение HTTP-запроса к ClickHouse через HttpClient (Timeout) и на выполнение SQL-запроса в ClickHouse (set_max_execution_time).

  4. Перезапустите платформу, выполнив следующую команду:
    /var/lib/visiology/scripts/run.sh --restart

Настройка тайм-аутов для экспорта дашбордов

Вы можете настроить тайм-аут, по истечении которого экспорт дашборда прекратится.

Для этого необходимо сделать следующее:

Добавьте в файл /var/lib/visiology/scripts/v3/env-files/dv.env требуемое значение для экспорта в переменную Export__ExportDashboardTimeout. Значение по умолчанию – 600 сек.

Настройка дополнительных временных интервалов

Вы также можете изменить настройки дополнительных временных интервалов, которые влияют на экспорт дашбордов.

Для этого необходимо сделать следующее:

  1. Добавьте в файл /var/lib/visiology/scripts/v3/env-files/ds.env требуемое значение в переменные

    где –
    "Screenshoter__OpenPageOperationTimeout" – тайм-аут на открытие страницы. Значение по умолчанию – 30 сек.
    "Screenshoter__ScreenshotDashboardTimeout" – тайм-аут на создание скриншота (для одного листа). Значение по умолчанию – 100 сек.
    "Screenshoter__DelayBeforeTakingScreenshot" – задержка перед созданием скриншота. Увеличение значения может быть полезным, если какой-то виджет не успевает отрисоваться. Значение по умолчанию – 1 сек.
    "Screenshoter__ParallelOpenBrowsers" – количество одновременных сессий экспорта (например, когда несколько человек одновременно экспортируют дашборд). Значение по умолчанию – 5.
    "Screenshoter__QueueWaitTimeout" – настройка таймера ожидания для завершения текущих сессий экспорта. Например, если десять пользователей одновременно начали экспорт дашборда, то задача будет выполняться только для пятерых пользователей, а остальные задачи будут ожидать в очереди и запускаться по мере освобождения ресурсов. Если процесс не завершится за указанное время, дашборд не будет экспортирован для оставшихся в очереди пользователей. Значение по умолчанию – 7200 сек. (120 мин.).

  2. Перезапустите платформу, выполнив следующую команду:
    /var/lib/visiology/scripts/run.sh --restart

Настройка тайм-аута для ClickHouse

Иногда сторонний источник, откуда загружаются данные на платформу, оказывается перегружен другими запросами. Из-за этого при попытке загрузить данные в Visiology возникает ошибка: DB::Exception: clickhouse-jdbc-bridge is not running. Please start it manually.

Чтобы предотвратить возникновение проблемы, необходимо изменить значение параметра http_receive_timeout для ClickHouse. Сделать это можно в несколько шагов:

  1. Измените значение http_max_field_value_size в файле /var/lib/visiology/scripts/v3/configs/clickhouse-http-receive-timeout.xml на нужное:

  1. Остановите платформу, выполнив следующую команду:

  1. Заново сгенерируйте конфигурации, выполнив команду ниже:

  1. Запустите платформу:


Смотрите также

Ускорение загрузки данных

 

Related content