formularios - ¿Cómo se evalúa el rendimiento de una aplicación web AngularJS?
formularios en angular 6 (4)
Utilizo herramientas de desarrollo de Chrome para realizar este tipo de pruebas de rendimiento en aplicaciones web. Le sugiero que lea los documentos de perfiles de Chrome ( https://developer.chrome.com/devtools/docs/javascript-memory-profiling ). ¡Toda la sección de Rendimiento y Perfiles en la documentación de Goolge es realmente buena!
Solía hacer pruebas de rendimiento en sitios web principalmente con scripts de JMeter.
Sin embargo, cada vez se construyen más proyectos con frontend MVC, como AngularJS, y un proyecto actual carga todo su contenido a través de archivos de vista angular, llamadas REST, etc. Desafortunadamente, JMeter no ejecuta ningún javascript, así que mi prueba de carga me devuelve el página de inicio en solo (400ms). En realidad, en realidad lleva varios segundos cargar en un navegador. Cuando verifico los datos de respuesta, todavía no contiene ningún dato debido a Angular.
En lugar de investigar el tráfico de red y cargar individualmente cada componente (p. Ej., Profile.html, notification.html, REST, etc.). ¿Hay algún producto en el mercado o algún mejor caso que pueda seguir que sea similar a la ejecución de scripts de JMeter, pero considerando la ejecución de javascript y la carga de recursos externos debido a javascript?
(No estoy planeando el perfil de los tiempos de ejecución de JavaScript. Esto todavía es para probar si la infraestructura detrás es capaz de servir usuarios simultáneos xyz)
Aunque JMeter no es capaz de ejecutar JavaScript en el lado del cliente, puede registrar solicitudes relevantes a través de HTTP (S) Test Script Recorder . Una vez registrado, podrá combinar todas las solicitudes independientes en un "agregado" utilizando el controlador de transacciones de JMeter.
Si este enfoque sencillo por alguna razón no funciona, consulte Cómo cargar sitios habilitados para prueba AJAX / XHR con JMeter para obtener más opciones y pistas.
Puede intentar utilizar la opción ''Usar como monitor'' para las solicitudes que inicie de su prueba.
http://jmeter.apache.org/usermanual/build-monitor-test-plan.html
Sin embargo, son asesinos de rendimiento. Otra opción es usar el oyente ''Guardar respuestas en un archivo'' para ver si se entrega el HTML final. No debería darte el resultado ideal, pero podría ser útil.
Si desea rastrear el rendimiento de los XHR para un solo usuario, puede intentar jugar con Selenium y BrowserMob Proxy, pero no está sometido a las pruebas de estrés, sino a las pruebas funcionales.
Puede intentar https://github.com/kidk/felt es construir para este propósito específico.
Utiliza PhantomJS / SlimerJS para generar carga en un sitio web, por lo que obtienes todas las API / JS / CSS y las llamadas de imagen que obtendrías en un navegador normal. Todavía es un proyecto joven, pero podría ser la solución que está buscando.
(Este es mi proyecto personal)