2009-08-20 8 views
6

Estoy manteniendo una aplicación web que tiene problemas de rendimiento.Pruebas de rendimiento para la aplicación web existente - ¿Herramientas útiles?

Quiero registrar una serie de acciones, luego reproducir esas acciones una vez que haya realizado los cambios y comparar los tiempos de carga de la página para que pueda cuantificar la mejora del rendimiento.

El Selenium IDE hace lo que necesito para grabar y reproducir las acciones, pero no he encontrado una manera fácil de grabar tiempos.

¿Existe una buena forma de registrar y comparar los tiempos de carga de la página usando Selenium? ¿Hay una mejor herramienta para usar en su lugar?

+2

víctima Posible? http://stackoverflow.com/questions/635123/what-is-a-good-tool-or-site-to-use-to-performance-test-a-web-page-site – Joel

+0

Yo diría "sí" ", pero también tenga en cuenta que esto podría diferenciarse con bastante facilidad si Joseph * no está * trabajando con ASP.NET en Windows, como parecía ser el anterior interrogador. – Shog9

+0

@Joel: Las cosas cambian ... –

Respuesta

2

La pestaña de red en Firebug puede ayudarlo a medir y averiguar qué está afectando exactamente al tiempo de carga del sitio web. Ni siquiera necesita tener acceso al servidor para usarlo. YSlow Le da consejos muy interesantes para mejorar la carga general y la sensación de un sitio específico. Personalmente, uso la pestaña Red para identificar los posibles tiempos de carga, ya sean imágenes grandes, JavaScript ocultos o malas latencias. Nunca escuché acerca de una herramienta automatizada para hacer esto, AFAIK selenium lo ayuda a crear pruebas de integración que le ayudan a asegurar que ciertas partes de la aplicación funcionen como se esperaba, pero no estoy seguro si también se puede usar como herramienta de creación de perfiles. Espero que esto ayude

2

Dependiendo de la complejidad de su aplicación, es posible que pueda usar JMeter, por la ASF.

Es una aplicación de prueba de carga puramente basada en Java con una serie de complementos gráficos, soportes de protocolos, controladores, marcos de informes y demás. Puede elegir qué datos registrar, cómo graficar, cómo enviarlos a un archivo, etc. Incluso lo incluirá en CSV o en una variedad de formatos basados ​​en XML.

Es feo pero viable, a menos que su aplicación incluya JavaScript ... No incluye una VM capaz de ejecutarlo y deberá hacer cosas como AJAX utilizando hacks (como Regexes y respuestas hechas a mano). Icky.) Es de código abierto, por lo que puedes agregar controladores adicionales si lo necesitas también.

Aún así, para hacer lo que quiera (Grabar acciones, reproducir, graficar/almacenar resultados) debería ser suficiente.

0

Generalmente mido el tiempo que toma cada solicitud utilizando System.currentTimeMillis, y lo registro en el nivel de depuración en el entorno de desarrollo y prueba. Luego ejecuto selenio o JMeter, y luego proceso los registros para obtener diferentes estadísticas. Tomo las solicitudes más lentas y sigo explorando para ver dónde está la lentitud y el cuello de botella.

Como alternativa, en lugar de hacerlo en el código en sí, puede escribir sus propias secuencias de comandos de selenio o utilizar la secuencia de comandos que la grabadora genera, y agregar algo de inicio de sesión en el código generado.

El rendimiento de la interfaz de usuario es una bestia completamente diferente. Confío mucho en YSlow para eso.

5

Es posible que desee echar un vistazo a BrowserMob (http://browsermob.com/). Puede cargar sus scripts de prueba IDE de Selenium y hacer que se ejecuten en su sitio. Su fundador es el creador de Selenium RC, Patrick Lightbody.

0

Me gustaría echar un vistazo a Faban.

Fácil de configurar y usar para el caso fácil, haciendo hincapié en una sola página con "feh".

Para patrones de uso más complejos, puede construir sus patrones para imitar una carga completa en su sitio.

0

Aquí hay una herramienta simple que funciona: test_it. Esencialmente,

  • sus máquinas de ensayo debe tener .NET 4.0
  • que presentamos lo mejor los binarios
  • utilizando fiddler se inspeccionan los paquetes HTTP que viaja al ejecutar sus escenarios de prueba
  • describir esos paquetes en un texto archivo de parámetros utilizando la sintaxis sencilla
  • especificar el número de solicitudes/seg desea
  • ejecutar los binarios
  • no se olvide de controlar la máquina bajo prueba

alguna información aquí: rextester

+0

No ha indicado su afiliación con este enlace –

+0

@Andrew Barber Lo escribí porque necesitaba algo simple pero flexible. – ren

Cuestiones relacionadas