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


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

Семантические модели Power BI в режиме Direct Lake считывают таблицы Delta непосредственно из OneLake, если они не должны вернуться к режиму DirectQuery. Типичные резервные причины включают давление памяти, которое может предотвратить загрузку столбцов, необходимых для обработки запроса DAX, и некоторые функции в источнике данных могут не поддерживать режим Direct Lake, например представления SQL в хранилище и Lakehouse. Как правило, режим 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_Begin
    DirectQuery_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.