Empezar
¿Qué es k6?
Grafana k6 es una herramienta de pruebas de carga de código libre que hace fácil a equipos de software testear el rendimiento de sus aplicaciones.
Con k6, puedes testear la fiabilidad y rendimiento de aplicaciones e identificar regresiones y errores más tempranamente. k6 te ayudará a construir aplicaciones rápidas y robustas que puedan escalar.
k6 es desarrollado por Grafana Labs y la comunidad.
Características principales
k6 está compuesto de varias funcionalidades, que puede conocer en la documentación. Las principales características son las siguientes:
Casos de uso
Los usuarios de k6 suelen ser desarrolladores, ingenieros de control de calidad y DevOps. Ellos utilizan k6 para probar el rendimiento de las APIs, los microservicios y los sitios web. Los casos de uso más comunes de k6 son:
Pruebas de carga
k6 está optimizado para un consumo mínimo de recursos del sistema y diseñado para ejecutar pruebas con alta carga (spike, stress, soak tests) .
Browser testing
Con k6 browser, puedes interactuar con el navegador para validar la interfaz web o rendimiento. Ejecuta browser tests juntos o separados de otros tests de carga.
Pruebas de chaos
Puede utilizar k6 para simular tráfico como parte de sus experimentos de chaos, lanzarlos desde el script de k6 o injectar fallos en Kubernetes con xk6-disruptor.
Monitoreo del rendimiento
Con k6, puede automatizar la ejecución de tests frequentemente con una pequeña cantidad de carga para supervisar continuamente el rendimiento y disponibilidad de su entorno de producción.
Manifiesto
Nuestro manifiesto es el resultado de muchos años de trabajo haciendo pruebas de rendimiento y de carga. Lo hemos creado para ser usado como una guía de cómo hacer pruebas de rendimiento.¿Qué no hace k6?
k6 es una herramienta de pruebas de carga de alto rendimiento, que se puede programar en JavaScript. El diseño de la arquitectura para tener estas capacidades trae algunas compensaciones:
No ejecuta nativamente en un navegador
Por defecto, k6 no renderiza las páginas web de la misma manera que lo hace un navegado. Los navegadores pueden consumir muchos recursos del sistema. No usando el navegador, nos permite ejecutar tests de más carga en una misma máquina.
Sin embargo, con k6 browser, puedes interactuar con navegadores reales y monitorizar métricas del frontend en tus tests de k6.
No se ejecuta en NodeJS
Por lo general, JavaScript no es adecuado para obtener un alto rendimiento. Para lograr el máximo rendimiento, la herramienta en sí está escrita en Go, incorporando un tiempo de ejecución de JavaScript que permite un fácil scripting de pruebas.
Si quieres importar módulos npm o librerías usando las APIs de NodeJS, puedes empaquetar módulos npm con webpack e importarlos en tus pruebas.