Optimización del rendimiento
Para determinar cómo optimizar el rendimiento de su aplicación, primero veamos lo que sucede con la aplicación cuando se inicia. Luego, hablaremos sobre algunas causas comunes del rendimiento reducido.
Fases de ejecución de la aplicación y flujo de llamada de datos
Antes de que el usuario comience a interactuar con la aplicación, hay algunas fases de ejecución por las que debe pasar la aplicación. Después, la aplicación realiza un flujo de llamada de datos que varía según el origen de datos.
Fases de ejecución en aplicaciones de lienzo
Las aplicaciones de lienzo avanzan a través de las siguientes fases de ejecución antes de mostrar la interfaz a un usuario:
- Autenticar al usuario: solicita a los usuarios que usan la aplicación por primera vez que inicien sesión con sus credenciales para conectarse. Según las directivas de seguridad de la organización, es posible que se les vuelva a pedir las credenciales cuando abran de nuevo la aplicación.
- Obtener metadatos: recupera metadatos, como la versión de la plataforma de Power Apps en la que se ejecuta la aplicación o los orígenes de datos de la aplicación.
- Inicializar la aplicación: realiza las tareas en la propiedad OnStart de la aplicación.
- Representar las pantallas: representa la primera pantalla de la aplicación, incluidos los controles y los datos. La aplicación pasa por el mismo proceso para representar las pantallas siguientes abiertas por el usuario.
Flujos de llamadas de datos en aplicaciones de lienzo
Las llamadas de datos de las aplicaciones de lienzo utilizan el protocolo OData para enviar y recibir datos. Para la mayoría de orígenes de datos, la llamada de datos va de la aplicación a Azure API Management y desde API Management al origen de datos; luego, vuelve a la aplicación recorriendo los mismos pasos en orden inverso. Si hay un origen de datos local (como un SQL Server), la llamada también debe realizarse a través de una puerta de enlace de datos local. Todas estas puertas de flujo de llamadas pueden tener un impacto en el rendimiento y ofrecer posibles oportunidades de optimización.
El uso de Microsoft Dataverse como origen de datos cambia significativamente el flujo de llamadas de datos. Cuando la llamada de datos va a Dataverse, la solicitud de OData va directamente a Dataverse, sin pasar por Azure API Management, conectores ni puertas de enlace de datos. Dicho de otro modo, hay menos puertas que atravesar cuando se utiliza Dataverse.
Orígenes comunes de rendimiento reducido para una aplicación de lienzo
Ahora que tiene unos conocimientos básicos de las fases de ejecución y el flujo de llamadas de datos, veamos algunos de los orígenes más comunes de rendimiento deficiente en las aplicaciones de lienzo.
Diseño de aplicaciones
El diseño de aplicaciones es un área amplia, ya que hay muchas maneras de diseñar una aplicación. Sin embargo, algunos aspectos de diseño que pueden afectar al rendimiento de la aplicación son los siguientes:
- La aplicación tiene un uso intenso en el lado del cliente, lo que significa que, inicialmente, obtiene grandes conjuntos de datos en colecciones de datos. Luego, usa los datos (quizá muchas veces) en funciones que se procesan en el dispositivo del cliente, como JSON, Sort, AddColumns y GroupBy.
- La aplicación tiene una fórmula larga en OnStart, donde desencadena muchas llamadas de datos en otras pantallas, y estas llamadas de datos devuelven grandes registros de datos.
Puede revisar el diseño de la aplicación como un posible origen de rendimiento reducido de la aplicación mediante Monitor. Compruebe qué llamadas de datos tardan mucho y cuántas llamadas hay en la aplicación.
Además, intente equilibrar la carga de trabajo entre el cliente y el servidor. Delegue la carga de trabajo al servidor siempre que sea posible. Para el consumo de memoria del cliente, es importante que la aplicación del cliente sea ligera.
Cuello de botella en el origen de datos
Hay muchas razones por las que se producen cuellos de botella en el origen de datos. Sin embargo, lo más común es que las tablas del origen de datos experimenten mucha actividad cuando un gran número de consultas transaccionales o no transaccionales se dirigen a la misma tabla o registro desde diferentes usuarios.
Las llamadas a OData pueden ralentizar el proceso si:
- La máquina back-end que hospeda el origen de datos tiene pocos recursos.
- La instancia de SQL back-end tiene bloqueos, interbloqueos o contención de recursos.
- La puerta de enlace de datos local es incorrecta.
Cuando ocurran estos problemas, ajuste el origen de datos back-end para evitar la ralentización del rendimiento de la aplicación.
Navegadores, dispositivos y ubicaciones de clientes
Las aplicaciones de lienzo se pueden usar en diferentes dispositivos, navegadores y ubicaciones, con distintas condiciones de red. Anime a los usuarios a usar navegadores compatibles, modernos y actualizados.
Ubicación geográfica del entorno y la puerta de enlace de datos local
Los usuarios pueden acceder a las aplicaciones de lienzo en todo el mundo. Le recomendamos que ubique el origen de datos cerca de la base de usuarios de mayor tamaño. Por ejemplo, cuando la aplicación accede al origen de datos local, la ubicación de la puerta de enlace de datos local debe estar cerca del origen de datos para minimizar cualquier sobrecarga adicional entre la puerta de enlace de datos y el origen de datos.
Limitación temporal de solicitudes de alto volumen en el back-end
En función de cómo se diseñe una aplicación de lienzo, esta puede generar muchas llamadas de datos en poco tiempo. Cuando las llamadas de datos superan los límites de un conector, la aplicación estará sujeta a una limitación temporal. Por lo tanto, elegir el origen de datos y el conector correctos es importante en muchos sentidos; también es necesario comprender los límites específicos del conector. Puede consultar la documentación sobre conectores para obtener más información sobre las limitaciones que puedan tener.
Configuración Depurar aplicación publicada habilitada
Habilitar la configuración Depurar aplicación publicada hará que las aplicaciones funcionen de forma más lenta. Puede volver a publicar la aplicación con esta configuración deshabilitada cuando determine que ya no necesita ver las expresiones de origen al depurar la aplicación publicada.
En resumen, acabamos de ver lo que sucede cuando un usuario comienza a usar la aplicación para las fases de ejecución y el flujo de llamadas de datos. También hemos tratado algunas de las formas comunes en las que el rendimiento de su aplicación puede verse afectado. Aunque no abordaremos ningún otro tema en esta unidad, puede aprender consejos prácticos y procedimientos recomendados para mejorar el rendimiento de las aplicaciones de lienzo, así como elementos que se deben tener en cuenta para optimizar el rendimiento en Power Apps.