Las pruebas de rendimiento a veces pueden malinterpretarse como un martilleo del servidor con un alto rendimiento de solicitud, pero conceptos como tiempo de reflexión, ritmo y retrasos nos ayudan a lograr los patrones de usuario reales que ocurren durante la producción. Diseñar el escenario de prueba de rendimiento lo más cercano a los patrones de usuario realistas es muy crucial para lograr resultados que encuentren problemas y cuellos de botella genuinos en las aplicaciones. En el mismo contexto, el tiempo de reflexión y el ritmo tienen una importancia significativa al desarrollar escenarios de prueba de carga. En este artículo, cubriremos el tiempo de reflexión, el ritmo y los retrasos, junto con su significado, las mejores prácticas y cómo podemos configurar estas métricas como parte de nuestro escenario de prueba de carga con LoadView. Primero entendamos qué significa el tiempo de pensamiento y el ritmo en las pruebas de carga cuando se trata de pruebas de carga.

¿Qué es El tiempo de reflexión?

El tiempo de prueba en las pruebas de carga es la diferencia de tiempo entre cada acción de un solo usuario. Un usuario mientras navega por la aplicación pasa una cierta cantidad de tiempo (pensar tiempo) antes de hacer alguna acción en el sitio web. Por ejemplo, en una aplicación web de comercio electrónico, un usuario hace clic en un mosaico de producto, va a su página de visualización de productos y luego espera allí para consumir y leer el contenido de esta página antes de hacer clic en el botón Agregar al carrito . El tiempo invertido desde hacer clic en el icono del producto hasta hacer clic en Agregar al carrito se denomina tiempo de reflexión. El valor del tiempo de reflexión varía de un usuario a un usuario, pero para nuestro escenario de prueba, podemos tomar el tiempo de reflexión promedio.

Por lo general, cuando piensa en las pruebas de carga y esfuerzo, piensa en simplemente servir grandes cantidades de usuarios simultáneos contra sus aplicaciones web, sitios web o API para ver cómo se desempeñan bajo estrés. Si bien las pruebas de estrés tienen su lugar en las pruebas de rendimiento, este tipo de prueba de rendimiento no es adecuado para comprender el rendimiento desde la perspectiva del usuario, ya que esto realmente no simula escenarios reales del mundo real. Aquí es donde entra el tiempo de reflexión para ayudar a simular mejor los pasos del viaje del usuario, como las rutas de compra, la búsqueda de un producto o el inicio de sesión en una cuenta, por ejemplo. Cada uno de estos pasos tiene diferentes valores de tiempo de pensar y es importante tenerlos en cuenta al realizar pruebas de carga.

¿Qué es Pacing?

El ritmo se utiliza durante las pruebas de carga para asegurarse de que estamos ejecutando la prueba con la transacción deseada por segundo. Es la diferencia de tiempo entre cada iteración completa del flujo de negocio. Nos ayuda a controlar el recuento de solicitudes enviadas al servidor por segundo. El ritmo es ligeramente diferente al tiempo de pensar. Como hemos descrito anteriormente, el tiempo de pensar es el retraso entre las acciones dentro de iteraciones o pasos. Como hemos mencionado, las pruebas de carga no se trata de golpear el servidor con tantas solicitudes como sea posible sin demora, el plan de prueba con el rendimiento deseado se puede lograr mediante la búsqueda del valor correcto de ritmo. Además, el ritmo, junto con el tiempo de pensar, también ayuda a simular mejor la experiencia del usuario y proporciona una prueba de carga más realista. Normalmente hay un corto período de tiempo entre iteraciones, por lo que es un factor importante a tener en cuenta al configurar las pruebas de carga.

Por qué es importante introducir retrasos en escenarios de pruebas de carga

Las pruebas de carga de la aplicación antes de la implementación de la fase completa nos ahorran una posible mala experiencia que enfrentan los usuarios finales con problemas, como tiempos de espera, respuestas lentas de página y tiempo de inactividad. Con el fin de acercarnos a los resultados realistas de las pruebas de carga y encontrar problemas, si los hay, tendríamos que traer nuestro escenario de prueba para que sea lo más realista posible. La consideración del tiempo de reflexión y el ritmo en nuestro diseño de escenario de prueba nos ayuda a probar cómo se comporta la administración de colas, la utilización de subprocesos y la administración de memoria del servidor bajo una gran carga. Por ejemplo, si intentamos agregar tiempo de reflexión entre cada acción de usuario simultánea, durante este retraso el servidor tiende a elegir otras tareas pendientes de la cola, ejecuta la siguiente tarea y, a continuación, vuelve a seleccionar la tarea anterior. Este paso es exactamente lo que sucede en la producción con usuarios reales. Agregar tiempo de reflexión también aumenta el tiempo empleado por el usuario en la aplicación, lo que identifica los problemas relacionados con la capacidad de control de usuario simultánea del servidor.

Cómo calcular los retrasos para las aplicaciones

El número de usuarios virtuales simultáneos, retrasos y transacciones por segundo (TPS) varía para cada aplicación. Por lo tanto, para calcular cuáles deben ser los retrasos para nuestra aplicación, podemos utilizar las siguientes fórmulas.

Duración de la prueba de carga (en segundos) * (TPS + Retrasos) * Recuento de usuarios simultáneos – Total de transacciones

Digamos que para un ejemplo, nos gustaría generar 100.000 transacciones, cada transacción tiene un tiempo de respuesta de 5 segundos y estaríamos ejecutando la prueba durante 10 minutos (600 segundos). Vamos a calcular cuántos usuarios simultáneos requieren suponiendo si tenemos 3 segundos de tiempo de reflexión en retrasos. Usando la fórmula anterior, podemos calcular el número de usuarios simultáneos requerido. En nuestro caso sería 100,000/(8*10*60) que resulta ser alrededor de 21 usuarios. De esta manera podemos encontrar los retrasos y números necesarios para las pruebas de carga.

Prácticas recomendadas antes de ejecutar una prueba de carga

Para obtener los mejores y más precisos resultados de las pruebas de rendimiento, debemos considerar responder a continuación las preguntas que se centran en las mejores prácticas durante la prueba de carga.

Número de usuarios simultáneos

Tendríamos que entender en lo que los usuarios simultáneos esperados queremos comparar nuestra aplicación.

Simulación de escenarios de prueba de usuario real

Diseñar el escenario de prueba teniendo en cuenta el recorrido real del usuario, los tiempos de reflexión invertidos por el usuario y los retrasos entre cada prueba.

Cargas virtuales distribuidas geográficamente

Los inyectores de carga que generan cargas deben separarse en función de ubicaciones geográficas específicas, si se espera que nuestra aplicación reciba tráfico de todo el mundo.

Configuración del período de rampa

Establecer el período de tiempo de aceleración también ayuda a aumentar gradualmente la escala en la aplicación y hace que nuestro escenario de prueba sea realista para el comportamiento de la aplicación.

Duración de la prueba

La duración del tiempo de una prueba es importante para comprender cómo se comporta el servidor cuando se coloca bajo carga continua en línea recta.

Adición de retrasos con LoadView

LoadView incluye EveryStep Web Recorder, que proporciona facilidad para crear escenarios de prueba mediante la grabación de las acciones realizadas por nosotros en un explorador. Imita los pasos exactos y el comportamiento realizado por el usuario, recopila todos los puntos de datos, como selectores, acciones y retrasos. Al crear nuestro escenario de prueba, estaríamos obligados a imitar el recorrido real del usuario con retrasos en el tiempo de reflexión. Una vez que hemos detenido la grabación, crea un script que se puede volver a ejecutar con los usuarios simultáneos deseados. Como puede ver en la imagen de abajo, también podemos modificar el script y actualizar los retrasos para pasos individuales, según sea necesario para la prueba. Obtenga más información sobre cómo editar scripts de EveryStep Web Recorder.

Añadir retrasos al script

El script desarrollado con interacción real del usuario con la aplicación y el recorrido del usuario se considera como el mejor enfoque que puede ayudarnos a lograr resultados precisos fuera de la prueba de carga.

Perfil de comportamiento del usuario

Además, tiene la opción de modificar el comportamiento del usuario desde la plataforma LoadView. Como puede ver en la imagen siguiente, puede elegir entre Normal Delay o elegir Custom Delay para establecer el comportamiento específico del usuario y los retrasos para sus aplicaciones. Obtenga más información sobre Cómo ajustar el comportamiento del usuario.

Ajustar el comportamiento del usuario

Pensamientos de separación: Pruebas de carga: Piense en el tiempo, el ritmo y los retrasos

Las pruebas de rendimiento de una aplicación son un aspecto crítico antes de enviarla a producción. Sólo puede ayudarnos a encontrar esos problemas precisos relacionados con el rendimiento si se siguen las prácticas recomendadas y se desarrollan escenarios de prueba que cubren los recorridos reales del usuario en la aplicación. En este artículo, analizamos cómo tener en cuenta el tiempo de pensar y evitar retrasos durante la creación del diseño del escenario de prueba puede ayudar a encontrar los problemas debajo del sistema. Nos ayuda a encontrar problemas como tiempos de espera de página, respuesta lenta de la página, tiempo de respuesta y errores del servidor con mucha antelación a una carga alta.

Estas estrategias pueden ayudarnos a avanzar hacia aplicaciones y sitios web sensibles y confiables. Pruebe EveryStep Web Recorder ahora y vea la rapidez con la que puede crear scripts para sus aplicaciones.

Regístrese en LoadView hoy y reciba pruebas de carga gratuitas. ¿Tiene preguntas sobre la plataforma LoadView? Póngase en contacto con nuestro equipo de soporte para hablar con uno de nuestros ingenieros de rendimiento.