Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Planificación básica para las pruebas de carga
Para determinar la herramienta y la configuración adecuadas para la prueba de carga, tenga claro por qué está realizando la prueba. Las siguientes preguntas deben abordarse con el tipo de prueba adecuado:
-
¿Cuánta carga puede soportar mi aplicación?
-
¿Puede mi aplicación soportar una carga X?
-
¿Mi aplicación se puede reducir y escalar verticalmente de forma automática?
-
¿El comportamiento de mi aplicación se perjudica con el tiempo con una cantidad X de carga?
-
¿Funciona mi aplicación? (Esta no es una prueba de carga típica, pero puede usar herramientas de prueba de carga para determinar si su aplicación funciona como se espera).
Determinación de la complejidad de la prueba
La complejidad de la prueba está determinada por qué tan completa será su evaluación. Herramientas básicas, como Hey
En otros casos, es posible que necesite la prueba para realizar un comportamiento complejo. Por ejemplo, tiene que iniciar sesión antes de iniciar un proceso o está probando un proceso de pedido que incluye seleccionar un artículo y realizar la compra. Esto se puede entender como un escenario. Los escenarios de prueba requieren herramientas de prueba de carga más complejas que permitan adaptar la carga de trabajo a situaciones de la vida real. Esto generará resultados que podrá utilizar para hacer afirmaciones sobre el rendimiento que experimentarán los usuarios finales.
Las pruebas complejas inducen más carga al sistema generador de carga. Para ejecutar las pruebas de carga, debe tener en cuenta no solo la herramienta sino también el sistema que ejecuta la herramienta, siendo los aspectos más importantes su CPU y el ancho de banda de la red. Un sistema informático de prueba de carga mal diseñado puede producir resultados incorrectos. Por ejemplo, una sola máquina no será suficiente para crear carga para un objetivo que funcione correctamente. En este caso, debe configurar una prueba de carga distribuida. Por otro lado, una herramienta que funcione bien puede generar más carga con un solo servidor. Esto se abordará con mayor profundidad en el análisis sobre la configuración de la prueba.
Medición y configuración
Debe tenerse en cuenta la capacidad de representación del entorno de prueba. Si opera un sitio de compras enorme, con miles de servidores, puede resultar difícil probar la producción sin afectar a los usuarios finales o crear un entorno de prueba que reproduzca el tamaño del sitio. Además, crear suficiente tráfico como para estresar el sistema con esta escala también requiere una configuración sofisticada de prueba de carga. Por este motivo, las pruebas de carga se suelen ejecutar en configuraciones más pequeñas y comparables que se pueden utilizar para hacer suposiciones sobre el entorno de producción. Las pruebas que establecen las bases de referencia o los requisitos funcionales se pueden ejecutar en entornos de producción.
Se recomienda registrar los entornos de prueba para las pruebas posteriores, de forma que se disponga de una especificación bien definida, con los resultados esperables para cada tamaño del entorno objetivo.
Tenga en cuenta todos los elementos de la infraestructura que se ven afectados por la prueba de carga. Si bien la prueba suele analizar la CPU y la memoria de los host, hay otros efectos secundarios que es importante tener en cuenta.
Un efecto secundario típico es que el ancho de banda de la red para la comunicación entre los servicios puede alcanzar sus límites. En el caso de los servicios que están conectados a través de Internet o de sistemas distribuidos, la comunicación suele basarse en una red. El uso de una prueba de carga que genere tensión en la aplicación también generará tensión en la infraestructura de red subyacente.
Modelado de carga y pruebas escalonadas
Para diferentes pruebas, puede modelar la cantidad de carga que se produce en el transcurso de la prueba. Una forma básica es crear una progresión escalonada que aumente gradualmente la carga con el tiempo. Esto creará puntos de datos distintos para cada paso, lo que le permitirá sacar conclusiones más detalladas en una sola prueba. Para encontrar un límite que sea relevante para su aplicación, se recomienda empezar la prueba con una carga inferior a la del uso habitual y esperar un rendimiento superior. Cuando aumente la carga de forma gradual, verá el límite en el que el rendimiento de la aplicación está disminuyendo. Los resultados mostrarán si el comportamiento esperado sigue siendo válido y si la aplicación se comporta según lo esperado en situaciones de error. Por ejemplo, cuando las pruebas superen el límite, es de esperar que la aplicación pierda una carga
Con herramientas complejas, puede configurar un patrón como configuración para su prueba. Esto definirá la cantidad de carga que se producirá durante un periodo y cómo aumentará o disminuirá.
La mayoría de las herramientas básicas son herramientas de línea de comandos, que requieren que usted mismo escriba una solución por su cuenta. Cuando escriba sus propios scripts, asegúrese de no sobrescribir accidentalmente las métricas que desee conservar. Los archivos de salida deben tener nuevos sufijos para cada iteración, de modo que no se sobrescriban los resultados de la iteración anterior.