Optimización del rendimiento

Completado

Para determinar cómo optimizar el rendimiento de su aplicación, primero veamos lo que sucede con la aplicación cuando se inicia. Luego podemos hablar sobre algunos orígenes comunes de 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 primero 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

Una aplicación de lienzo avanza a través de las siguientes fases de ejecución antes de mostrar la interfaz a un usuario:

  1. Autenticar al usuario: esta fase de ejecución solicita a los usuarios que usan la aplicación por primera vez que inicien sesión con sus credenciales para conectarse a ella. 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.
  2. 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 donde se deben recuperar los datos.
  3. Inicializar la aplicación: realiza las tareas especificadas en la propiedad OnStart de la aplicación.
  4. Representar las pantallas: representa la primera pantalla de la aplicación, incluidos los controles y los datos presentados en la primera pantalla. Asimismo, 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. En muchos casos, la llamada de datos va de la aplicación a Azure API Management, de API Management al origen de datos, y luego debe volver a la aplicación en orden inverso. Además, 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 generar consideraciones de rendimiento y posibles oportunidades de optimización. Sin embargo, hay una notable diferencia en la llamada de datos si la aplicación usa Microsoft Dataverse como origen de datos. Cuando la llamada de datos va a un origen de 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 porque hay muchas maneras en las que se puede diseñar una aplicación, sin embargo, hay algunos aspectos que ciertamente pueden afectar el rendimiento de la aplicación, como, por ejemplo:

  • La aplicación es compleja para el cliente, lo que significa que obtiene grandes conjuntos de datos en colecciones de datos y luego usa los datos en varias pantallas para las operaciones que son complejas para el cliente, como JSON, Sort, Add Column y GroupBy.
  • La aplicación tiene una fórmula larga en OnStart, donde posiblemente desencadena muchas llamadas de datos innecesarias en pantallas, y estas llamadas de datos devuelven grandes registros de datos.

Para revisar el diseño de la aplicación como un posible origen de rendimiento reducido de la aplicación, supervise la aplicación con Monitor. Compruebe qué llamadas de datos tardan mucho y cuántas desencadenan ese comportamiento en la aplicación.

Además, trate de equilibrar la carga de trabajo entre el cliente y el servidor; se recomienda delegar la carga de trabajo al servidor cuando sea posible. Desde la perspectiva del 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 causas posibles 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 de 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. Sin embargo, 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 desde muchas perspectivas, y también es importante 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 consideraciones que se deben tener en cuenta para optimizar el rendimiento en Power Apps.