Testing de stress y carga

327 views
Skip to first unread message

Pablo Russo

unread,
Sep 17, 2013, 8:02:37 PM9/17/13
to rub...@googlegroups.com
Buenas!

   Me preguntaba qué usarían (gemas, herramientas, etc.) para realizar pruebas de carga y concurrencia sobre un sitio hecho en Rails?

   En el pasado he usado Selenium y JMeter (no para ruby sino para cosas en .net y java) y no me ha surgido la necesidad de algo similar en rails sino hasta ahora. Si bien estas herramientas podrían usarse en teoría para cualquier sitio, me interesaba saber si había algo mejor o más especifico para el mundo Rails.

   Lo ideal sería poder tener algo así:
  • los caminos o transacciones a probar que se puedan programar en código y capturar usando "macros" (estilo selenium)
  • que se pueda parametrizar la fuente de datos/información de prueba que el script utilizará para completar los formularios
  • dejar algo "corriendo" durante X horas o X ciclos.
  • cada ciclo que sea parametrizable a lo largo del tiempo. Ej: que empiece con 50 usuarios, llegue a un pico de 200 y caiga a 20, con intervalo de 10sg+-DeltaT entre usuarios.
  • debería registrar para las diversas "cargas" datos de performance del servidor (memoria, uso de procesador, tiempos de respuesta, etc.) y obviamente si por la concurrencia se generan errores, que se registren
  • ideal si además se puede integrar dentro de un servidor de integración continua.
  Algún consejo/experiencia para compartir? 
  Aunque no cubra todos los puntos, una solución parcial probablemente me sirva como punto de partida.

Gracias!!
  Pablo.-

Luis Lavena

unread,
Sep 17, 2013, 10:43:04 PM9/17/13
to rub...@googlegroups.com
Hola Pablo

2013/9/17 Pablo Russo <pablo...@gmail.com>
Mucho en detalle no podria contestarte en cuestiones como Selenium para automatizar, pero si conozco las siguientes herramientas:

Loader.io: 

Blitz.io:

Vegeta:

wrk:

En lo que respecta a registro de performance del servidor, no creo ninguna de las herramientas de arriba pueda "ver" dentro de tu aplicación, por lo que te recomiendo veas NewRelic RPM:


Saludos y espero te sirva.
--
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Mariano Vallés

unread,
Sep 18, 2013, 5:08:38 AM9/18/13
to rub...@googlegroups.com
Hola,
También para hacer stress testing (exclusivamente) se puede usar Tsung
(http://tsung.erlang-projects.org/).
Es también una buena oportunidad para mirar en el mundo de Erlang :)

Saludos


2013/9/18 Luis Lavena <luisl...@gmail.com>:
> --
> Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos
> de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos
> electrónicos, envía un correo electrónico a
> rubysur+u...@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Bruno Bonamin

unread,
Sep 18, 2013, 9:33:55 AM9/18/13
to rub...@googlegroups.com
Tourbus te puede servir ! https://github.com/dbrady/tourbus

El día 18 de septiembre de 2013 06:08, Mariano Vallés
<zuca...@gmail.com> escribió:
--
Bruno Bonamin.
Reply all
Reply to author
Forward
0 new messages