Анализ обработки запросов для семантических моделей Direct Lake
Семантические модели Power BI в режиме Direct Lake считывают таблицы Delta непосредственно из OneLake, если они не должны вернуться в режим DirectQuery. Типичные резервные причины включают давление памяти, которое может предотвратить загрузку столбцов, необходимых для обработки запроса DAX, и некоторые функции в источнике данных могут не поддерживать режим Direct Lake, например представления SQL в хранилище и Lakehouse. Как правило, режим Direct Lake обеспечивает лучшую производительность запросов DAX, если не требуется резервный режим DirectQuery. Так как резервный доступ к режиму DirectQuery может повлиять на производительность запросов DAX, важно проанализировать обработку запросов для семантической модели Direct Lake, чтобы определить, если и как часто возникают резервные копии.
Анализ с помощью анализатора производительности
Анализатор производительности позволяет быстро и легко изучить, как визуальные запросы к источнику данных и сколько времени требуется для отображения результата.
Запустите Power BI Desktop. На начальном экране выберите новый>отчет.
Выберите " Получить данные " на ленте, а затем выберите семантические модели Power BI.
На странице центра данных OneLake выберите семантику Direct Lake, к которой нужно подключиться, а затем нажмите кнопку "Подключить".
Поместите визуальный элемент карточки на холст отчета, выберите столбец данных для создания базового отчета, а затем в меню "Вид " выберите анализатор производительности.
В области анализатора производительности выберите "Начать запись".
В области анализатора производительности выберите "Обновить визуальные элементы", а затем разверните визуальный элемент "Карточка". Визуальный элемент карты не вызывает обработку DirectQuery, которая указывает, что семантическая модель могла обрабатывать запросы DAX визуального элемента в режиме Direct Lake.
Если семантическая модель возвращается в режим DirectQuery для обработки запроса DAX визуального элемента, вы увидите метрику производительности direct query , как показано на следующем рисунке:
Анализ с помощью SQL Server Profiler
Sql Server Profiler может предоставить дополнительные сведения о производительности запросов путем трассировки событий запроса. Он установлен с SQL Server Management Studio (SSMS). Перед началом работы убедитесь, что установлена последняя версия SSMS.
Запустите SQL Server Profiler из меню Windows.
В SQL Server Profiler выберите "Создать файл>трассировки".
В поле "Подключение к серверу>" выберите службы Analysis Services, а затем в имени сервера введите URL-адрес рабочей области, а затем выберите метод проверки подлинности, а затем введите имя пользователя для входа в рабочую область.
Выберите Параметры. В поле "Подключение к базе данных" введите имя семантической модели и нажмите кнопку "Подключить". Войдите в идентификатор Microsoft Entra.
В разделе "События свойств трассировки">установите флажок "Показать все события".
Прокрутите страницу до обработки запросов и установите флажки для следующих событий:
Мероприятие Description
DirectQuery_Begin DirectQuery_EndЕсли события DirectQuery Begin/End отображаются в трассировке, семантическая модель может вернуться в режим DirectQuery. Однако обратите внимание, что наличие запросов EngineEdition и, возможно, запросов для проверки безопасности на уровне объектов (OLS) не представляет собой резервный вариант, так как подсистема всегда использует режим DirectQuery для этих проверок, не связанных с обработкой запросов.
VertiPaq_SE_Query_Begin VertiPaq_SE_Query_Cache_Match
VertiPaq_SE_Query_Cache_Miss VertiPaq_SE_Query_End
События подсистемы хранилища VertiPaq (SE) в режиме Direct Lake совпадают с режимом импорта. Он должен выглядеть так:
Выберите Выполнить. В Power BI Desktop создайте новый отчет или взаимодействуйте с существующим отчетом для создания событий запроса. Просмотрите отчет трассировки SQL Server Profiler для событий обработки запросов.
На следующем рисунке показан пример событий обработки запросов для запроса DAX. В этой трассировке события подсистемы хранилища VertiPaq (SE) указывают на то, что запрос был обработан в режиме Direct Lake.