Post Top Ad

Your Ad Spot

martes, 21 de abril de 2020

Pruebas de rendimiento: herramientas, pasos y mejores prácticas

El rendimiento web es un tema amplio, y no encontrará escasez de consejos y tutoriales de pruebas de rendimiento en toda la web. Antes de comenzar a ajustar su sitio web o aplicación, primero debe determinar qué métricas son más importantes para sus usuarios y establecer algunos puntos de referencia alcanzables.

¿Qué son las pruebas de rendimiento?# #

En el contexto del desarrollo web, las pruebas de rendimiento implican el uso de herramientas de software para simular cómo se ejecuta una aplicación en circunstancias específicas. Las pruebas de rendimiento cuantitativas analizan métricas como el tiempo de respuesta, mientras que las pruebas cualitativas se refieren a la escalabilidad, la estabilidad y la interoperabilidad.
Cuando se escucha la palabra "rendimiento", la mayoría de la gente piensa inmediatamente en la velocidad. Los tiempos de carga rápidos y los tiempos de respuesta son absolutamente necesarios en estos días, pero debe pensar en una imagen más amplia, que requiere más que simplemente hacer clic en todos sus enlaces para asegurarse de que funcionen. El hecho de que todo funcione perfectamente durante las pruebas de producción no significa que ese será el caso cuando su sitio web esté inundado de tráfico.

¿Cuáles son los beneficios de las pruebas de rendimiento?# #

Probar el rendimiento de su sitio web o aplicación le permite identificar problemas y mejorar el rendimiento general, lo que puede conducir a una mejor experiencia del usuario y mayores ingresos. Hay muchas cuestiones comunes que las pruebas de rendimiento pueden descubrir, como los cuellos de botella. Una interrupción en el flujo de datos debido a la capacidad limitada se denomina cuello de botella. Pueden ocurrir cuellos de botella, por ejemplo, si tiene un aumento repentino en el tráfico que sus servidores no están equipados para manejar. Si no realiza la prueba, tendrá que aprender sobre ellos de la manera difícil.
Los cuellos de botella son solo uno de los muchos problemas que pueden ocurrir cuando su sitio web no es escalable. La escasa escalabilidad puede afectar el rendimiento de una aplicación y provocar retrasos, errores y pérdidas de memoria. Puede descubrir que los problemas de rendimiento de su aplicación se deben a limitaciones de CPU o de ancho de banda, por lo que deberá reasignar algunos recursos o invertir en una infraestructura más sólida.
Cualquier información que pueda recopilar sobre sus visitantes, como la forma en que acceden a su sitio web, puede ayudarlo a identificar formas de mejorar la experiencia del usuario, ya que tiene los parámetros para probar.

Tipos de pruebas de rendimiento#

Aunque las herramientas de prueba de páginas web son útiles y pueden brindarle una visión general rápida de la velocidad y el rendimiento general de un sitio web, debe realizar un análisis más exhaustivo utilizando una variedad de pruebas que incluyen:
  • Pruebas de carga: las pruebas de carga analizan cómo el aumento de la carga de trabajo afecta el tiempo de respuesta de una aplicación. Por ejemplo, puede usar herramientas de prueba de carga para ver cómo funciona su aplicación con un cierto número de usuarios simultáneos. El propósito de las pruebas de carga es evaluar cómo se comporta su aplicación en condiciones normales de trabajo.
  • Pruebas de estrés: también llamadas pruebas de fatiga, las pruebas de estrés son similares a las pruebas de carga, pero observan cómo una aplicación se desempeña fuera de los límites de las condiciones normales de trabajo. El objetivo de las pruebas de resistencia es determinar cuántos usuarios o transacciones concurrentes puede manejar la aplicación antes de que falle. Las pruebas de carga y estrés pueden ayudarlo a identificar cuellos de botella y decidir cómo usar mejor sus recursos para acomodar más tráfico.
  • Pruebas de picos : una prueba de picos es un tipo específico de prueba de esfuerzo que se utiliza para simular el rendimiento de la aplicación cuando la carga de trabajo aumenta rápida y repetidamente.
  • Pruebas de resistencia: también llamadas pruebas de remojo, las pruebas de resistencia miden el rendimiento de la aplicación durante un período prolongado de tiempo. Las pruebas de resistencia pueden ayudarlo a identificar pérdidas de memoria y percances similares que ocasionalmente ocurren.
  • Pruebas de escalabilidad: las pruebas de escalabilidad evalúan qué tan bien responde su aplicación al aumento de las cargas de trabajo. A diferencia de las pruebas de pico, las pruebas de escalabilidad implican aumentar gradualmente la carga de trabajo mientras se monitorean los efectos sobre el rendimiento. También puede encontrar que su uso de recursos fluctúa mientras la carga de trabajo permanece igual.
  • Pruebas de volumen: también llamadas pruebas de inundación, las pruebas de volumen se centran específicamente en el rendimiento de su aplicación mientras maneja un gran volumen de datos.

¿Qué métricas de rendimiento web importan?# #

Mejorar el rendimiento de su sitio web comienza con tomar algunas medidas, pero las medidas no son lo mismo que las métricas. ¿Cual es la diferencia?
Las mediciones se refieren a puntos de datos específicos, como la cantidad de segundos que se tarda en procesar una solicitud. Las métricas son lo que realmente se está midiendo. Aquí hay algunas métricas relevantes para las pruebas de rendimiento:
  • Tiempo de respuesta: la cantidad de tiempo entre una solicitud específica y una respuesta correspondiente. Los tiempos de respuesta pueden variar drásticamente para diferentes acciones en diferentes condiciones.
  • Tiempo de carga promedio: el tiempo de respuesta promedio para todas las solicitudes brinda una buena visión de la experiencia general del usuario.
  • Tiempo de respuesta pico: el tiempo de respuesta más largo. Si su respuesta máxima es mucho más larga que su tiempo de carga promedio, entonces probablemente tenga un problema.
  • Tiempo de espera: a veces llamado latencia promedio, el tiempo de espera se refiere a la cantidad de tiempo que una solicitud pasa en una cola antes de procesarse. Distinguir entre el tiempo de espera y el tiempo de respuesta es importante porque dependen de diferentes factores.
  • Solicitudes por segundo: el número de solicitudes manejadas por segundo.
  • Utilización de la memoria: la cantidad de memoria requerida para procesar una solicitud.
  • Utilización de la CPU: la cantidad de tiempo requerida para que la CPU procese las solicitudes.
  • Tasa de error: la relación de errores a solicitudes.
  • Transacciones aprobadas / fallidas: similar a la tasa de error, pero tiene en cuenta otros factores que hacen que las solicitudes fallen.
  • Usuarios concurrentes: también llamado tamaño de carga, usuarios concurrentes significa el número de usuarios activos.
  • Rendimiento: normalmente medido en kilobytes por segundo, el rendimiento se refiere a cuánto ancho de banda se utiliza durante las pruebas de rendimiento. Dado que es el mejor indicador de la capacidad de su sitio web, establecer un objetivo de rendimiento es un buen primer paso para mejorar la capacidad de su sitio web.

Herramientas de prueba de rendimiento para desarrolladores web#

El primer paso para probar es seleccionar las herramientas adecuadas. Existen muchas herramientas gratuitas y premium para probar sus aplicaciones, pero estas son solo algunas:

KeyCDN Tools#

keycdn tools
Además de nuestros servicios de entrega de contenido, KeyCDN Tools es un conjunto de herramientas de prueba web gratuitas que ofrecemos públicamente. Nuestras pruebas de velocidad de página le brindan un desglose completo en cascada del rendimiento de su sitio web, y puede probar qué tan rápido se carga su página desde 14 ubicaciones diferentes.

Google Lighthouse#

google lighthouse
Google Lighthouse es una herramienta gratuita y de código abierto que forma parte de la familia Google Chrome DevTools. Cuando se proporciona una URL a Lighthouse, ejecutará varias auditorías y devolverá un informe con consejos para mejoras.

Selenio#

selenium
Selenium es un marco de prueba ligero y de código abierto para grabar, editar y depurar pruebas.

Tormenta de carga#

loadstorm
Loadstorm es una opción premium asequible para pruebas de carga que puede probar hasta 50,000 usuarios concurrentes. El servicio basado en la nube envía cantidades masivas de solicitudes por segundo para simular cómo funciona su sitio web.

WebLOAD#

webload
WebLOAD ofrece un conjunto de herramientas robusto que es de primera línea. Está diseñado para aplicaciones empresariales que tienen miles de usuarios, pero está disponible una edición gratuita limitada.

Prueba de rendimiento paso a paso#

Una vez que haya decidido qué herramientas usar, aquí hay una guía general a seguir mientras prueba el rendimiento de su sitio web:
  1. Establezca objetivos: decida qué métricas son más importantes para sus usuarios y establezca algunos puntos de referencia ideales.
  2. Planifique sus escenarios de prueba: piense en algunas situaciones específicas que su aplicación pueda encontrar. Por ejemplo, ¿qué sucedería si un cierto número de usuarios intente realizar una determinada acción al mismo tiempo?
  3. Prepare el entorno de prueba: asegúrese de que sus configuraciones de hardware y red reflejen de cerca las condiciones del mundo real.
  4. Pruebe y recopile datos: deje que su software de prueba haga todo el trabajo duro y luego evalúe los resultados.
  5. Repita: ejecute las pruebas en las mismas condiciones nuevamente para asegurarse de que el rendimiento sea consistente, luego experimente con diferentes parámetros.
Una vez que cuantifique el rendimiento de su sitio web con datos, puede comenzar a tomar medidas para resolver cualquier problema identificado.

Más consejos de pruebas de rendimiento#

Pruebe temprano y pruebe a menudo. Cuanto antes implemente las pruebas en el ciclo de vida de una aplicación, más fácil será abordar los problemas a medida que surjan. Comience durante la fase de prueba de la unidad si es posible. Es importante ser realista. El rendimiento de su sitio web o aplicación estará limitado por sus recursos. Conozca sus límites para que pueda establecer objetivos alcanzables. Crear escenarios de prueba realistas; por ejemplo, no comience sus pruebas de rendimiento con carga cero, ya que es una situación poco realista.
Como todo lo demás en el desarrollo web, su plan de rendimiento web depende de su audiencia. Si descubres que tienes muchos usuarios de otros países, debes asegurarte de tener la infraestructura para admitir visitantes internacionales. Si la mayoría de sus visitantes están usando sus teléfonos, entonces debe centrarse en la optimización para dispositivos móviles. Muchas herramientas de prueba le permiten monitorear el comportamiento del usuario con gran detalle.
Tómese el tiempo para comprender y conocer su entorno de prueba. Usar un entorno de prueba que sea similar al entorno de producción es esencial para obtener una imagen precisa del rendimiento web. Use el mismo entorno si es posible.
Considere optimizar antes de invertir. Comprar nuevos servidores y más ancho de banda sin optimizar su recurso actual es una pérdida de dinero. Concéntrese en hacer que su infraestructura sea más eficiente incluso antes de pensar en invertir más.

Pruebas de rendimiento: un trabajo que nunca termina#

Las pruebas de rendimiento deberían ser un proceso continuo. Con suerte, su sitio web o aplicación continuará creciendo, y tendrá que hacer cambios para acomodar una base de usuarios más grande. Si no lo prueba, podría convertirse en una víctima de su propio éxito.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas