La mejor manera de hacer pruebas de estrés en un sitio web [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Esta puede ser la pregunta equivocada, pero, ¿cuál es la mejor manera de replicar una gran carga en un asp.net ¿aplicación web? ¿Hay una manera fácil de simular muchas solicitudes en páginas particulares? O es lo mejor usar un generador de perfiles para rastrear una sola solicitud y luego trabajar a partir de eso si la actuación está bien?

Sería bueno saber qué tan bien funciona una aplicación web con una especificación de servidor. Me gustaría ser capaz de simular el tráfico pesado en mi servidor de pruebas para que pueda averiguar si el servidor de producción es lo suficientemente bueno (específicamente con iis/asp.net no con rendimiento de base de datos).

Author: fmsf, 2008-12-04

10 answers

Mi sugerencia es que hagas algunas pruebas automatizadas primero. Use selenio para ello.

Luego implemente selenium grid para probar en varios equipos al mismo tiempo.

Aunque el Selenio como herramienta de prueba automatizada se ejecutará bastante rápido, haciendo una mini prueba de esfuerzo. Si colocas la misma automatización ejecutándose en un par de equipos de tu red al mismo tiempo, podrás ver cómo se comporta.

Si desea registrar los tiempos de respuesta, tienen una api genial que puede utilizar para escribir algunos scripts para ejecutar sus automatizaciones.

Editar: Selenium es bastante fácil de usar, y lo hace afirma a los contenidos de la página si desea probar los contenidos. También copia su movimiento a través de la página si lo desea (esta sería mi sugerencia) simplemente navegue mucho por la página y luego guárdela para la automatización. Evite poner afirmaciones para que el selenio pueda correr más rápido.

 55
Author: fmsf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-28 14:10:53

Intenta http://loadimpact.com lo mejor que he encontrado hasta ahora, pero no puedo encontrar otra alternativa.

 70
Author: happyhardik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-11 07:20:47

JMeter sería una de esas herramientas. Puede ser un poco difícil de aprender y configurar, pero por lo general vale la pena.

 49
Author: Joachim Sauer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-04 13:33:35

La herramienta ab (apache bench) le permite enviar muchas solicitudes a una sola página y especificar cuántos clientes desea usar y cuántas conexiones simultáneas desea.

Este puede ser el primer paso al desarrollar un sitio. Solo prueba algunas páginas con una carga específica. Esta forma de benchmarking puede tener algún problema, como el uso excesivo del almacenamiento en caché.

Más tarde es posible que desee una herramienta que simule algún tráfico concreto y no para una sola página. No tengo una referencia útil en tal herramienta todavía.

 31
Author: Pierre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-04 10:01:11

Tal vez grinder ayudará? Puede simular solicitudes simultáneas mediante subprocesos y procesos ligeros o distribuir pruebas en varias máquinas. Lo estoy usando extensivamente con éxito cada vez.

 9
Author: mcveat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-04 13:45:00

Probamos algunas aplicaciones, tanto pruebas de productos comerciales como de libre disponibilidad. En última instancia, fue la edición de prueba del software Team Test Load Agent que probamos. Definitivamente funciona muy bien y es bastante fácil de usar. A largo plazo, reforzó nuestro argumento de pasar a Team Foundation Server y equipar todas las partes del departamento con las herramientas adecuadas.

La desventaja obvia, sin embargo, es el precio.

 5
Author: Joseph Ferris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-04 14:08:27

He usado WebLOAD para este tipo de proyectos. Es fácil crear scripts, y tiene soporte incorporado para la supervisión ASP.NET estadísticas

 3
Author: Yasei No Umi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-05 11:32:22
 2
Author: Patrick Cuff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:32:20

Para pruebas de servicios web, soap rest o WCF (incluyendo webHttpBinding), pruebe SOA Cleaner. Puede descargarse desde: http://xyrow.com . Hay una versión gratuita, y no requiere ninguna instalación. También puede realizar pruebas de carga.

 2
Author: Clangon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-16 08:16:48

Otra herramienta que me gusta es Open STA: http://opensta.org /

Se centra principalmente en las pruebas de rendimiento y es gratis.

 2
Author: рüффп,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-16 12:24:23