Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

Примечание

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

Настройка тайм-аутов для загрузки данных с помощью 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 часов.

      settings5.png
  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.

      settings3.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/dashboardservice.json.

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

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

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

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

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

    settings7.png

    Данные тайм-ауты влияют на выполнение 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/ со следующим содержимым:

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

image-20240812-133507.png
Блок кода
      - source: clickhousehttpreceivetimeout
        target: /etc/clickhouse-server/configusers.d/clickhouse-http-receive-timeout.xml
image-20240812-133658.png
Блок кода
  clickhousehttpreceivetimeout:
    external: true
  1. Добавьте следующую команду в файле /var/lib/visiology/scripts/v3/prepare-config.sh:

    Блок кода
    docker config create --label ${CONFIGS_LABEL}=clickhousehttpreceivetimeout clickhousehttpreceivetimeout --template-driver golang ${CONFIGS_DIR}clickhouse-http-receive-timeout.xml
image-20240812-134038.png
  1. Остановите платформу, выполнив следующую команду:

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

Блок кода
/var/lib/visiology/scripts/v3/prepare-config.sh --force-regenerate-configs
  1. Запустите платформу:

Блок кода
./run.sh

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

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

На этой странице

Оглавление
minLevel1
maxLevel6
include
outlinefalse
indent
styledefault
exclude
typelist
class
printablefalse

🕑 Время чтения: 2 мин.


Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.