Incluso el más novato entre los propietarios de sitios web ha probado en algún momento el rendimiento de su sitio web. Sin embargo, la mayoría de estas pruebas normalmente se enfocan en la velocidad de carga o los índices de experiencia del usuario.
¿Pero qué pasa con las pruebas de carga?
Aunque la mayoría de los sitios web son propensos a niveles de tráfico que generalmente son bastante regulares, puede haber ocasiones en que algunos sitios tengan que lidiar con cargas pesadas. Ejemplos de estos incluyen tiendas en línea, o incluso algunos sitios web del gobierno.
Si tu sitio web recibe un aumento inesperado en el número de visitantes en un período corto, ¿qué tan bien estás equipado para manejarlo?
Comprender las pruebas de carga
¿Qué es la prueba de carga?
La prueba de carga es un punto de referencia de un sitio web para ver cómo funciona bajo varias cargas.
Por ejemplo, una prueba puede simular un número creciente de visitantes concurrentes que llegan a tu sitio. También rastreará cómo los maneja tu sitio y los registrará para tu referencia.
¿Qué tipos de "carga" se prueban?
Dependiendo de la herramienta que elijas para cargar la prueba de tu sitio, cada uno puede venir con diferentes características. Lo más básico simplemente implicará simular una carga cada vez mayor y detenerse cuando tu sitio falla.
Otras herramientas pueden ser capaces de generar una carga simulada que imite diferentes comportamientos del usuario, como realizar consultas, cambiar páginas o cargar otras funciones. Algunos incluso pueden mapear flujos lógicos para cada escenario individual.
Dependiendo de su complejidad, algunas herramientas de prueba de carga pueden ser bastante caras. Sin embargo, hay opciones más baratas en el mercado y algunas incluso son gratuitas. He incluido una mezcla de estas a continuación para tu referencia, incluidas un par de opciones de código abierto.
Comparación rápida de herramientas de prueba de rendimiento
1. Loadview de Dotcom Monitor
Página web: https://www.loadview-testing.com/
Precio: desde $ 129 / mes, prueba gratuita disponible
Loadview es una de las soluciones más completas disponibles en el mercado y hoy se basa en un modelo de servicio en la nube. Esto significa que sea cual sea el tipo de simulación que necesites de ellos, solo pagas por el servicio: no hay inversión en hardware ni en nada más.
En cuanto a las características, Loadview ofrece una solución muy compleja que puede incluir cualquier cosa, desde Pruebas de carga HTTP arriba a una mezcla sofisticada de tu elección. Es capaz de simular variables dinámicas e incluso diversidad de geolocalización en sus pruebas.
Sugerencia: ¿No está seguro de si LoadView es adecuado para ti?
Programa una llamada de descubrimiento (15 minutos) o una demostración gratuita (1 hora) con LoadView. Sus ingenieros de rendimiento lo guiarán a través del proceso de ejecución y creación de scripts> Programa una demostración gratuita ahora.
Funciones de LoadView
- Pruebas posteriores al firewall
- Maneja variables dinámicas
- Gráficos detallados de cascadas
- Curvas de prueba de carga
2. K6 Cloud (anteriormente Load Impact)
Página web: https://k6.io/
Precio: desde $89/mes.
K6 es una herramienta de prueba de carga de código abierto basada en la nube que se proporciona como un servicio. Una de las cosas que hace que esta herramienta sea interesante es que tiene un precio en un modelo de uso variable, lo que significa que el costo de entrada puede ser relativamente bajo dependiendo de tus necesidades. Sin embargo, se centra principalmente en el desarrollador.
Además de las pruebas de carga, K6 también ofrece monitoreo de rendimiento. Su lado de prueba de carga se centra en cargas altas y puede manejar varios modos, como picos, pruebas de esfuerzo y carreras de resistencia.
* K6 no se ejecuta en navegadores ni en NodeJS
Características de K6
- API amigables para el desarrollador.
- Scripting en JavaScript
- Monitoreo del desempeño
3. Load Ninja
Página web: https://loadninja.com/
Precio: desde $105/mes.
Load Ninja te permite realizar pruebas de carga con navegadores reales basados en scripts grabados y luego ayuda a analizar los resultados de rendimiento. Su uso de navegadores reales a escala significa que esta herramienta ayuda a recrear un entorno más realista y un resultado final para las pruebas.
Los resultados pueden analizarse en tiempo real y, gracias a las prácticas herramientas que proporciona el sistema, su tiempo de scripting puede reducirse hasta en un 60 %. Las aplicaciones internas también se pueden probar, tanto con IP fijas basadas en proxy como con su propio rango de IP dinámicas (mediante el uso de una lista blanca).
Características de Load Ninja
- Prueba con miles de navegadores reales
- Diagnostica pruebas en tiempo real
- Información sobre el rendimiento interno de la aplicación
4. LoadRunner por Micro Focus
Página web: https://www.microfocus.com/
Precio: desde $ 0
Con una cuenta comunitaria gratuita de nivel de entrada que admite pruebas de 50 usuarios virtuales, LoadRunner está disponible incluso para los nuevos propietarios de sitios web. Sin embargo, si lo escalas a niveles altos, el costo aumenta exponencialmente.
Esta solución basada en la nube también ofrece el uso de un entorno de desarrollo integrado para pruebas unitarias. Admite una amplia gama de entornos de aplicaciones, incluidos Web, Mobile, WebSockets, Citrix, Java, .NET y mucho más. Tenga en cuenta que LoadRunner puede ser bastante complejo y tiene una curva de aprendizaje pronunciada.
Funciones de MicroFocus
- Motor patentado de autocorrelación
- Admite más de 50 tecnologías y entornos de aplicación.
- Reproduce procesos comerciales reales con scripts
5. Loader
Página web: https://loader.io/
Precio: desde $ 0
En comparación con lo que hemos mostrado hasta ahora, Loader es una herramienta mucho más simple y básica. Su plan gratuito admite pruebas de carga con hasta 10,000 usuarios virtuales, que es suficiente para la mayoría de los sitios web de tráfico moderado.
Desafortunadamente, deberás tener un plan pago para acceder a funciones más avanzadas, como análisis avanzados, pruebas simultáneas y soporte prioritario. Sin embargo, es fácil de usar, ya que básicamente solo agregas tu sitio, especificas los parámetros y luego dejas que se ejecute la prueba.
Características
- Gráficos y estadísticas compartibles
- Utilizable en un formato GUI o API
- Admite la verificación de DNS y los cargadores prioritarios
6. Gatling
Página web: https://gatling.io/
Precio: desde $ 0
Gatling viene en dos variantes, Open Source o Enterprise. El primero te permite probar la carga como una integración con tu propio canal de desarrollo. Incluye tanto una grabadora web como un generador de informes con el plan. La versión Enterprise tiene implementaciones locales o, alternativamente, puedes optar por una versión en la nube basada en Servicios Web de Amazon (AWS).
Aunque ambas versiones están repletas de características, la versión Enterprise admite algunos extras que no vienen con Open Source. Por ejemplo, tiene una interfaz de administración más utilizable y admite una gama más amplia de integraciones.
Características
- Scripting multiprotocolo
- Pruebas ilimitadas y rendimiento
- DSL de secuencias de comandos de Gatling
7. The Grinder
Página web: https://sourceforge.net/projects/grinder/
Precio: desde $ 0
Grinder es de código abierto todo el camino y es probablemente la única opción verdaderamente gratuita en esta lista. Sin embargo, debe ejecutarse localmente en tu propio entorno de desarrollo y necesita algunos extras, como Java, para funcionar.
Sin embargo, al ser de código abierto, se ha adoptado ampliamente y los desarrolladores han creado una gran cantidad de complementos que lo extienden ampliamente en términos de capacidad de uso y funcionalidad. Aún así, a menos que seas un desarrollador o algo así, The Grinder puede ser un poco difícil de usar.
Características
- Scripting flexible basado en Jython y Clojure
- Altamente modular con toneladas de complementos
- Marco distribuido y soporte HTTP maduro
¿Cuándo realizar una prueba de carga del rendimiento de tu sitio web?
Si has echado un vistazo a la mayoría de las herramientas disponibles, probablemente habrás notado que muchas de ellas ofrecen cuentas de prueba o alguna forma de versión gratuita limitada. Esto los hace fácilmente disponibles para su uso para una amplia audiencia.
La mayoría de los propietarios de sitios web deben preocuparse por el rendimiento del servidor de alojamiento ya que afecta mucho más que a experiencia de usuario simplemente. Para muchos propietarios de negocios, la disponibilidad de su sitio web también es una cuestión de reputación de marca.
Los sitios que están creciendo deben ser especialmente cautelosos con la disponibilidad y la escalabilidad de los recursos utilizados para alojar su sitio web. En la mayoría de los casos, se pasa un alto porcentaje del tiempo de respuesta del usuario en la superficie de tu sitio. Sin embargo, a medida que los sitios crecen en volumen de tráfico, esto puede cambiar.
Más tráfico generalmente significa un crecimiento desproporcionado en el procesamiento de back-end y su sistema tendrá problemas a medida que aumente. Mucho dependerá de variables únicas para el desarrollo de tu sitio, por lo que no es posible brindarte un número sólido de visitantes en ese momento.
Para ver de manera realista cómo es el rendimiento de tu sitio, necesitas realizar pruebas de carga. Exactamente cuándo hacerlo es discutible, pero mi consejo sería planear con anticipación y realizar la prueba temprano.
¿Qué verificar cuando se realizan pruebas de carga?
Como su propio nombre lo indica, su función principal debe ser la base de cómo funciona tu sitio bajo cargas. Esto le permitirá observar una serie de cosas como:
- En qué punto el rendimiento de tu sitio comienza a degradarse,
- Qué sucede realmente cuando el servicio se degrada.
Cuando mencioné cómo los diferentes sitios pueden reaccionar de manera diferente en función de su arquitectura, esa fue una señal para que comprendas que no todos los sitios fallan de la misma manera. Algunos sitios intensivos en bases de datos podría fallar en ese punto, mientras que otros pueden sufrir IO fallas basado en las cargas de conexión del servidor.
Debido a esto, debe estar preparado para configurar una variedad de pruebas para comprender cómo tu sitio y servidor se enfrentarán en varios escenarios. Con base en eso, vigila de cerca algunas métricas clave, como el tiempo de respuesta de tu servidor, la cantidad de errores que surgen y en qué áreas pueden encontrarse esas fallas.
Generar scripts y ejecuciones complejas junto con la lógica que lo acompaña puede ser difícil. Le sugiero que se acerque a las pruebas de carga de forma incremental. Comience con una prueba de fuerza bruta que simplemente probará su sitio bajo un flujo de tráfico en continuo aumento.
A medida que ganes experiencia, agrega otros elementos como el comportamiento variable, el desarrollo de sus scripts y la lógica con el tiempo.
Herramientas de prueba de carga: algo es mejor que nada
Cuando se trata de pruebas de carga, es mejor comenzar con lo básico que no comenzar en absoluto. Si eres un principiante en todo esto, intenta hacer tus pruebas en un espejo alternativo o fuera de línea cuando sea posible; ¡evita las pruebas de carga en un sitio en vivo si puedes!
Si recién comienzas ahora, asegúrate de crear un registro de tus pruebas. Las pruebas de rendimiento es un viaje que debe acompañar el desarrollo de tu sitio a medida que crece. El proceso puede ser agotador, pero recuerda que no tener un registro puede hacer que las evaluaciones futuras sean mucho más difíciles para ti.