Поделиться через


Анализ обработки запросов для семантических моделей Direct Lake

Семантические модели Power BI в режиме Direct Lake считывают таблицы Delta непосредственно из OneLake, если они не должны вернуться к режиму DirectQuery. Типичные причины использования резервного варианта включают нагрузку на память, которая может препятствовать загрузке столбцов, необходимых для обработки запроса DAX, и некоторые функции в источнике данных, например представления SQL в Warehouse и Lakehouse, могут не поддерживать режим Direct Lake. Как правило, режим Direct Lake обеспечивает лучшую производительность запросов DAX, если не требуется резервный режим DirectQuery. Поскольку переход в режим DirectQuery может повлиять на производительность запросов DAX, важно проанализировать обработку запросов для семантической модели Direct Lake, чтобы определить, происходят ли и как часто случаи возврата.

Анализ с помощью анализатора производительности

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

  1. Запустите Power BI Desktop. На начальном экране выберите Новый>отчет.

  2. Выберите Получить данные на ленте, а затем выберите семантические модели Power BI.

  3. На странице концентратора данных OneLake выберите семантику Direct Lake, к которой вы хотите подключиться, а затем выберите Connect.

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

    снимок экрана: панель анализатора производительности.

  5. В панели анализатора производительности выберите Начать запись.

    снимок экрана команды, чтобы начать запись в анализаторе производительности.

  6. В области анализатор производительности выберите Обновить визуализации, а затем разверните визуализацию карточки. Визуализация карты не инициирует обработку DirectQuery, что означает, что семантическая модель может обрабатывать DAX-запросы визуализации в режиме Direct Lake.

    Когда семантическая модель переходит на режим DirectQuery для обработки запроса DAX визуального элемента, отображается метрика производительности DirectQuery, как показано на следующем рисунке.

    снимок экрана метрики производительности Direct Query.

Анализ с помощью SQL Server Profiler

Sql Server Profiler может предоставить дополнительные сведения о производительности запросов путем трассировки событий запроса. Он устанавливается вместе с SQL Server Management Studio (SSMS). Перед началом работы убедитесь, что установлена последняя версия SSMS.

  1. Запустите SQL Server Profiler из меню Windows.

  2. В SQL Server Profiler выберите Файл>Новая трассировка.

  3. В Подключение к серверу>тип сервера выберите Analysis Services, затем в Имя сервера введите URL-адрес рабочей области, выберите метод аутентификации и введите имя пользователя для входа в рабочую область.

    снимок экрана: диалоговое окно

  4. Выберите опции. В Connect to databaseвведите имя семантической модели и выберите Connect. Войдите в систему Microsoft Entra ID.

    снимок экрана: имя базы данных, указанное в поле

  5. В окне Свойства трассировки>Выбор событийустановите флажок напротив опции Показать все события.

    Снимок экрана выбора событий - флажок

  6. Прокрутите страницу до обработки запросов, а затем установите флажки для следующих событий:

    Событие Описание

    DirectQuery_BeginDirectQuery_End
    Если события DirectQuery Begin/End отображаются в трассировке, семантическая модель может вернуться в режим DirectQuery. Однако обратите внимание, что наличие запросов EngineEdition и, возможно, запросов для проверки Object-Level безопасности (OLS) не представляет альтернативное решение, так как движок всегда использует режим DirectQuery для проверок, не связанных с обработкой запросов.
    VertiPaq_SE_Query_Begin
    VertiPaq_SE_Query_Cache_Match
    VertiPaq_SE_Query_Cache_Miss
    VertiPaq_SE_Query_End
    События подсистемы хранилища VertiPaq (SE) в режиме Direct Lake совпадают с режимом импорта.

    Это должно выглядеть следующим образом:

    снимок экрана с выбранными событиями обработки запросов в SQL Server Profiler.

  7. Выберите Выполнить. В Power BI Desktop создайте новый отчет или взаимодействуйте с существующим отчетом для создания событий запроса. Просмотрите отчет трассировки для событий обработки запросов в SQL Server Profiler.

    На следующем рисунке показан пример событий обработки запросов для запроса DAX. В этой трассировке события подсистемы хранилища VertiPaq (SE) указывают на то, что запрос был обработан в режиме Direct Lake. снимок экрана: события обработки запросов в SQL Server Profiler.