Настройка места на диске шлюза

В этой статье основное внимание уделяется параметрам конфигурации, управляющим дисковым пространством для пользователей шлюза, которым не хватает дискового пространства.

Буферизация данных на шлюзе

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

Примечание.

Мы рекомендуем использовать твердотельный накопитель (SSD) в качестве хранилища для буферизации с целью повышения производительности.

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

  1. Перейдите сюда: C:\Program Files\On-premises data gateway.

  2. Создайте резервную копию файла конфигурации Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  3. Измените файл конфигурации Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  4. Найдите SpoolerDirectory.

    <setting name="SpoolerDirectory" serializeAs="String">
        <value>%LOCALAPPDATA%\Microsoft\On-premises data gateway\Spooler</value>
    </setting>
    

    Тег <value> обозначает расположение SpoolerDirectory.

  5. Измените этот путь на расположение, в котором достаточно дискового пространства для нужд вашего бизнеса.

  6. После изменения сохраните файл и перезапустите локальный шлюз данных.

Примечание.

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

Screenshot

Постоянный кэш подсистемы гибридных веб-приложений

Если буферизация была сопоставлена с другим диском, но вы по-прежнему получаете ошибку "Недостаточно места на диске", это может быть связано с постоянным кэшем. Эта ошибка может быть вызвана тем, что запросы не свертываются (дополнительные сведения о свертывании запросов см. в разделе Обзор свертывания запросов). Или ошибка может быть вызвана плохо выполняющимися запросами (дополнительные сведения об оптимизации производительности шлюза см. в статье Мониторинг и оптимизация производительности локального шлюза данных).

Если запрос невозможно оптимизировать, постоянный кэш можно переместить на диск большей емкости. Постоянный кэш (в отличие от программы буферизации данных) использует корневой диск и путь операционной системы \temp. Чтобы избежать ошибки "Недостаточно места на диске", вам необходимо либо освободить место на корневом диске, либо увеличить размер корневого диска, либо, возможно, переназначить временную папку на диск с большим пространством.

Вы можете изменить (или установить) значение переменной среды Windows TMP  для учетной записи пользователя, используемой для запуска шлюза  с целью перемещения постоянного кэша на диск большей емкости. Путь, используемый для кэша и временных каталогов, задается через функцию GetTempPath в Win32. Согласно документации Win32, эта функция использует первое найденное значение из следующего списка:

  • Путь, заданный переменной среды TMP.
  • Путь, заданный переменной среды TEMP.
  • Путь, заданный переменной среды USERPROFILE.
  • Каталог Windows.

Итак, измените TMP для пользователя шлюза, чтобы переместить постоянный кэш на другой диск.

Примечание.

Чтобы изменить переменные среды в Windows, в меню Пуск выберите Поиск, введите Переменные окружения, выберите Изменение системных переменных среды и в разделе Свойства системы выберите Переменные окружения.