10 métricas de rendimiento de aplicaciones y cómo medirlas
Ha implementado su aplicación, ¿ahora qué? Para mantener el buen rendimiento de sus aplicaciones, debe realizar un seguimiento de varias métricas. Eche un vistazo a estos diez KPI críticos.
Las métricas de rendimiento de las aplicaciones son importantes para descifrar hasta qué punto una aplicación realmente ayuda a la empresa a la que da soporte, y también ayudan a revelar dónde se necesitan mejoras. La clave del éxito es rastrear las métricas correctas para la aplicación en cuestión.
Las métricas de rendimiento de aplicaciones, comúnmente conocidas como indicadores clave de rendimiento (KPI), son una medida cuantitativa de la eficacia con la que la organización logra los objetivos comerciales. La captura de las métricas correctas le brindará un informe completo e información valiosa sobre las formas de mejorar una aplicación.
A continuación, se presentan 10 métricas de rendimiento de aplicaciones principales que los desarrolladores deben rastrear.
- Uso de la CPU
El uso de la CPU afecta la capacidad de respuesta de una aplicación. Los picos altos en el uso de la CPU pueden indicar varios problemas. Específicamente, esto sugiere que la aplicación está ocupada dedicando tiempo a la informática, lo que hace que la capacidad de respuesta de una aplicación se degrade. Los picos altos en el uso deben considerarse un error de rendimiento porque significa que la CPU ha alcanzado su umbral de uso.
- Uso de la memoria
El uso de la memoria también es una métrica de rendimiento de la aplicación importante. El alto uso de memoria indica un alto consumo de recursos en el servidor. Al realizar un seguimiento del uso de la memoria de una aplicación, vigile la cantidad de fallas de página y los tiempos de acceso al disco. Si ha asignado una memoria virtual inadecuada, entonces su aplicación dedica más tiempo a la híper-paginación que a cualquier otra cosa.
- Solicitudes por minuto y bytes por solicitud
El seguimiento de la cantidad de solicitudes que recibe la API de su aplicación por minuto puede ayudar a determinar cómo se desempeña el servidor bajo diferentes cargas. Es igualmente importante realizar un seguimiento de la cantidad de datos que maneja la aplicación durante cada solicitud. Es posible que descubra que la aplicación recibe más solicitudes de las que puede administrar o que la cantidad de datos que debe administrar está perjudicando el rendimiento.
- Latencia y tiempo de actividad
La latencia —generalmente medida en milisegundos— se refiere al retraso entre la acción de un usuario en una aplicación y la respuesta de la aplicación a esa acción. Una latencia más alta tiene un efecto directo en el tiempo de carga de una aplicación. Debe aprovechar un servicio de ping para probar el tiempo de actividad. Estos servicios se pueden configurar para que se ejecuten en intervalos de tiempo específicos para determinar si una aplicación está en funcionamiento.
- Exposición de seguridad
Debe asegurarse de que tanto su aplicación como sus datos estén seguros. Determine cuánto de la aplicación está cubierto por técnicas de seguridad y cuánto está expuesto y no es seguro. También debe tener un plan para determinar cuánto tiempo lleva —o podría tardar— resolver ciertas vulnerabilidades de seguridad.
- Satisfacción del usuario/puntuaciones de Apdex
El Application Performance Index (Apdex) es un estándar abierto que mide los tiempos de respuesta de las aplicaciones web comparándolos con un umbral predefinido. Se calcula como la proporción de tiempos de respuesta satisfactorios a insatisfactorios. El tiempo de respuesta es el tiempo que tarda un activo en ser devuelto al solicitante después de haber sido solicitado.
He aquí un ejemplo: suponga que ha definido un umbral de tiempo de T. Por lo tanto, se considera que todas las respuestas completadas en T o menos tiempo han satisfecho al usuario. Por el contrario, se considera que las respuestas que han tardado más de T segundos han insatisfecho al usuario.
Apdex define tres tipos de usuarios en función de la satisfacción del usuario:
- Satisfecho. Esta calificación representa a los usuarios que experimentaron una respuesta satisfactoria o alta.
- Tolerante. Esta calificación representa a los usuarios que han experimentado una capacidad de respuesta lenta pero aceptable.
- Frustrado. Esta calificación representa a los usuarios que han experimentado una capacidad de respuesta inaceptable.
Puede calcular la puntuación de Apdex con la siguiente fórmula, donde SC indica un recuento satisfecho, TC indica un recuento tolerante, FC indica un recuento frustrado y TS indica un total de muestras:
Apdex = (SC + TC / 2 + FC × 0) / TS
Suponiendo un conjunto de datos de 100 muestras, donde ha establecido un objetivo de rendimiento de 5 segundos o más, suponga que 65 están por debajo de los 5 segundos, 25 están entre 5 y 10 segundos y los 10 restantes están por encima de los 10 segundos. Con estos parámetros puede determinar la puntuación de Apdex de la siguiente manera:
Apdex = (65 + (25/2) + (10 × 0))/100 = 0,775
- Tiempo medio de respuesta
El tiempo de respuesta promedio se calcula promediando los tiempos de respuesta de todas las solicitudes durante un período de tiempo específico. Un tiempo de respuesta promedio bajo implica un mejor rendimiento, ya que la aplicación o el servidor ha tardado menos en responder a las solicitudes o entradas.
El tiempo medio de respuesta se determina dividiendo el tiempo necesario para responder a las solicitudes en un período de tiempo determinado por el número total de respuestas durante el mismo período.
- Tasas de error
Esta métrica de rendimiento mide el porcentaje de solicitudes que tienen errores en comparación con el número total de solicitudes en un período de tiempo determinado. Cualquier aumento en este número indicará que es probable que encuentre una falla importante pronto.
Puede realizar un seguimiento de los errores de la aplicación utilizando los siguientes indicadores:
- Excepciones registradas. Este indicador representa el número de errores no gestionados y registrados.
- Excepciones lanzadas. Este indicador representa el total de todas las excepciones lanzadas.
- Porcentaje de error HTTP. Este indicador representa la cantidad de solicitudes web que no tuvieron éxito y devolvieron un error.
En esencia, puede aprovechar las tasas de error para controlar la frecuencia con la que falla su aplicación en tiempo real. También puede vigilar esta métrica de rendimiento para detectar y corregir errores rápidamente, antes de que se encuentre con problemas que puedan hacer que todo su sitio se caiga.
- Recolección de basura
La recolección de elementos no utilizados puede hacer que su aplicación se detenga por un tiempo cuando el ciclo de GC está en curso. Además, también puede usar muchos ciclos de CPU, por lo que es imperativo que determine el rendimiento de la recolección de elementos no utilizados en su aplicación.
Para cuantificar el rendimiento de la recolección de elementos no utilizados, puede utilizar las siguientes métricas:
- Mangos de GC. Esta métrica cuenta el número total de referencias a objetos creadas en una aplicación.
- Porcentaje de tiempo en GC. Este es un porcentaje del tiempo transcurrido en la recolección de elementos no utilizados desde el último ciclo de GC.
- Tiempo de pausa de recolección de basura. Esto mide el tiempo que la aplicación completa se detiene durante un ciclo de GC. Puede reducir el tiempo de pausa limitando la cantidad de objetos que deben marcarse —es decir, objetos que son candidatos para la recolección de elementos no utilizados.
- Rendimiento de la recolección de basura. Esto mide el porcentaje del tiempo total que la aplicación no ha dedicado a la recolección de elementos no utilizados.
- Tasa de creación/recuperación de objetos. Esta es una medida de la velocidad a la que se crean o reclaman instancias en una aplicación. Cuanto mayor sea la tasa de creación de objetos, más frecuentes serán los ciclos de GC y, en consecuencia, aumentará la utilización de la CPU.
- Requisitos de velocidad
La tasa de velocidad en la respuesta a solicitudes es una métrica esencial que brinda información sobre el aumento y la disminución del tráfico experimentado por su aplicación. En otras palabras, proporciona información sobre la inactividad y los picos de tráfico que recibe su aplicación. Puede correlacionar las tasas de velocidad en la respuesta a solicitudes con otras métricas de rendimiento de la aplicación para determinar cómo se puede escalar su aplicación. También debe vigilar la cantidad de usuarios simultáneos en su aplicación.
Conclusión
Administrar y revisar las métricas de una aplicación convierte fragmentos de información técnica y sin sentido en una narración fácil de entender que revela la confiabilidad del sistema y brinda información sobre la experiencia del usuario.
KPIs para APIs
El análisis y los informes de APIs son aspectos importantes del desarrollo de aplicaciones, y las API tienen su propio conjunto de KPI que los equipos de desarrollo deben rastrear.
Algunos de los KPI más importantes para que las API presten atención incluyen:
- recuento de uso Esto indica la cantidad de veces que se realiza una llamada API durante un cierto período de tiempo.
- Solicitud de latencia. Esto indica la cantidad de tiempo que le toma a una API procesar las solicitudes entrantes.
- Solicitar tamaño. Esto indica el tamaño de las cargas útiles de las solicitudes entrantes.
- Tamaño de respuesta. Esto indica el tamaño de las cargas de respuesta salientes.