Общие сведения об этапах выполнения приложения на основе холста, потоке вызовов данных и контроле производительности

Когда пользователь открывает приложение на основе холста, перед показом какого-либо пользовательского интерфейса приложение проходит некоторые этапы выполнения. Пока приложение загружается, оно подключается к разным источникам данных—таким как SharePoint, Microsoft Dataverse, SQL Server (локальная версия), база данных SQL Azure (онлайн), Excel и Oracle.

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

Фазы выполнения в приложениях на основе холста

Приложение на основе холста проходит следующие этапы выполнения, прежде чем показывать интерфейс пользователю:

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

  2. Получение метаданных: извлечение метаданных таких, как версия платформы Power Apps, на которой запускается приложение, и источники, из которых необходимо извлекать данные.

  3. Инициализация приложения: выполнение всех задач, указанных в свойстве OnStart.

  4. Отображения экранов: отображение первого экрана с элементами управления, которых приложение заполняет данными. Если пользователь открывает другие экраны, приложение отображает их, используя тот же процесс.

Поток вызовов данных в приложениях на основе холста

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

Понимание того, как запросы OData и API-интерфейса перемещаются в приложениях на основе холста, может помочь вам оптимизировать производительность приложения на основе холста и ваших внутренних источников данных.

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

Поток вызовов данных с онлайн-источниками данных

На следующей диаграмме показано, как типичный запрос данных в приложении на основе холста (слева) перемещается по уровням на стороне сервера, достигает целевого источника данных (справа), а затем возвращает данные в клиент.

Типичный поток вызовов данных для всех соединителей, кроме соединителя для Dataverse.

Каждый уровень на предыдущей диаграмме может работать быстро или с сталкиваться некоторыми трудностями при обработке запроса. Во многих приложениях два определенных места могут обычно вызывать заметные трудности:

  • Серверный источник данных при обработке запроса.

  • Клиент при отправке запроса — или при манипулировании полученными данными в памяти кучи и выполнении связанных функций JavaScript для обработки данных для отображения на экранах.

Поток вызовов данных с помощью локального шлюза данных

Если приложение на основе холста подключается к локальному источнику данных, например к серверу SQL Server, вам потребуется еще один уровень, называемый локальным шлюзом данных. Этот шлюз является обязательным для доступа к локальным источникам данных. Он отвечает за преобразование запросов по протоколу OData в операторы SQL DML (языка обработки данных).

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

Поток вызовов данных для локального шлюза данных.

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

Поток вызова данных с Microsoft Dataverse

При использовании Microsoft Dataverse в качестве источника данных запросы данных передаются в экземпляр среды напрямую, — без прохождения через управление API Azure. В связи с этим производительность вызовов данных выше по сравнению с остальными источниками данных. Приложение по умолчанию подключено к Microsoft Dataverse при создании нового приложения на основе холста.

Поток вызова данных с Microsoft Dataverse.

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

Показатель производительности

Инструмент мониторинга Power Apps

Хотя вы можете использовать инструменты разработчика браузера для просмотра производительности, Power Apps ограничивает набор вызовов в инструменте мониторинга только теми, которые относятся к Power Apps.

Инструмент мониторинга Power Apps может помочь вам отслеживать, что на самом деле отправляется в источник данных, а также временные метки отправки запросов и получения ответов от сервера.

Подробнее об инструменте мониторинга можно узнать в этой статье: Отладка приложений на основе холста с помощью монитора.

Инструмент мониторинга.

Измерение недостатка памяти на клиенте

Чтобы увидеть потребление памяти графически, вы можете использовать инструменты разработчика вашего браузера для профилирования памяти. Это помогает визуализировать размер кучи, документы, узлы и прослушиватели. Профилируйте производительность приложения с помощью браузера, как описано в обзоре инструментов разработчика Microsoft Edge (Chromium). Проверьте сценарии, которые превышают порог памяти для кучи JS. Дополнительная информация: Исправление проблем с памятью

График использования памяти.

Следующие шаги

Небольшие полезные данные

См. также

Устранение неполадок для Power Apps

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

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