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

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

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

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

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

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

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

  2. Откройте файл /var/lib/visiology/scripts/v3/configs/datamanagementservice.json.

  3. Найдите секцию TimeoutSettings и укажите требуемое значение для ClickhouseHttpClient (время указывается в формате hh:mm:ss. Значение по умолчанию – 1 мин. 40 сек.):

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

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

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

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

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

  2. Откройте файл /var/lib/visiology/scripts/v3/configs/viqube2.json.

  3. Найдите секцию RefreshDataJob и укажите требуемое значение для Timeout (время указывается в формате hh:mm:ss):
    "RefreshDataJob": {"Timeout": "05:00:00"}

    settings6.png
  4. Откройте файл /var/lib/visiology/scripts/v3/configs/jdbc-bridge-server.json.

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

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

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

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

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

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

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

  2. Откройте файл /var/lib/visiology/scripts/v3/configs/datamanagementservice.json.

  3. Найдите секцию TimeoutSettings и укажите требуемые значения для HttpClient (время в формате hh:mm:ss. Значение по умолчанию – 1 мин. 40 сек.).
    Продолжительность тайм-аута измеряется в часах, минутах и секундах и влияет на два процесса:

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

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

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

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

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

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

  2. Откройте файл /var/lib/visiology/scripts/v3/configs/dashboardservice.json.

  3. Найдите поля GetWidgetDataTimeout и ExportWidgetDataTimeout и укажите требуемые значения:

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

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

  4. Откройте файл /var/lib/visiology/scripts/v3/configs/viqube2.json.

  5. Найдите секцию ClickHouseSettings > ConnectionStrings и для элементов Timeout и set_max_execution_time укажете значение тайм-аута не меньше, чем в шаге 2 (в секундах):

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

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

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

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

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

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

Откройте файл dashboardviewer.json и задайте общий тайм-аут для экспорта дашборда, изменив значение ExportDashboardTimeout в секции Export. Значение по умолчанию – 600 сек.:

"Export": { "ExportDashboardTimeout": 600, "ExportWidgetDataTimeout": 600, "MaxWidgetDataExcelRows": 10000 }

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

Вы также можете изменить настройки дополнительных временных интервалов, которые влияют на экспорт дашбордов. Для этого откройте файл dashboardservice.json и отредактируйте необходимые значения в секции "Screenshoter":

"Screenshoter": { "OpenPageOperationTimeout": 30, "ScreenshotDashboardTimeout": 100, "DelayBeforeTakingScreenshot": 1, "ParallelOpenBrowsers": 5, "QueueWaitTimeout": 7200 }

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

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

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

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

  1. Добавьте новый файл с названием clickhouse-http-receive-timeout.xml в директорию /var/lib/visiology/scripts/v3/configs/ со следующим содержимым:

<clickhouse> <profiles> <default> <http_receive_timeout>18000</http_receive_timeout> </default> </profiles> </clickhouse>
  1. Добавьте необходимую секцию в configs для clickhouse-1 в файле visiology3.yml:

  1. Добавьте следующую команду в файле /var/lib/visiology/scripts/v3/prepare-config.sh:

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

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

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


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

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