Tengo que hacer unas pruebas de stress a una app rails, pero no quiero
limitarme a un httperf o ab, sino algo más serio para probar de forma
concurrente operaciones get junto con post, put y delete. Algo así
como simular que pasaria si de repente tengo 200 usuarios concurrentes
pero no solo mirando la web, sino interactuando con ella…
Existe algo por allí para hacer este tipo de cosas? O hay que
ingeniarselas con scripts a base de curl? ¿Alguien ha probado algo
similar?
No es una pregunta relacionada directamente con rails, pero pienso que
vendria bien a todos saber como realizar este tipo de tests, no?
Buenas gente,
Existe algo por allí para hacer este tipo de cosas? O hay que
ingeniarselas con scripts a base de curl? ¿Alguien ha probado algo
similar?
Me suena que Jaime I. abrió un hilo parecido hace tiempo …pero
no consigo encontrarlo.
Me lo he mirado algo por encima y no tiene mala pinta… salvo por
dos detalles:
Hecho en Java.
App de Desktop, no me sirve pues quiero hacer las pruebas de stress
contra el server de producción (antes de que esté en producción), y
desde mi cutre-linea ADSL no tengo capacidad de enviar tantos requests
concurrentes y fiarme que el limite lo pone el server o telefonica.
Me interesa hacerlo desde el propio server atacando a localhost, para
probar el rendimiento máximo de mi stack nginx+mongrel sin temas de
anchos de banda…
Pero gracias por la aportación, la verdad que no tiene mala pinta…
Pero desde tu máquina no tendrás los resultados que tu quieres.
Porque al final tu aplicación va a estar en un cluster donde va a
haber latencia entre las máquinas …
Yo optarÃa por tirar unas máquinas virtuales en EC2 simulando tu
infraestructura y lanzar tests desde varios datacenters.
Tengo que hacer unas pruebas de stress a una app rails, pero no quiero
limitarme a un httperf o ab, sino algo más serio para probar de forma
concurrente operaciones get junto con post, put y delete. Algo así
como simular que pasaria si de repente tengo 200 usuarios concurrentes
pero no solo mirando la web, sino interactuando con ella…
Yo ahora mismo estoy usando ab, de momento me conformo con intercalar
peticiones post (o derivadas) entre series de peticiones get
concurrentes. Sé que no es el colmo de la exactitud, pero de momento
creo que no necesito un grano más fino: prefiero analizar y mejorar el
rendimiento a nivel general (que ya es tarea) y esperar a ver el uso
real de la aplicación para detectar dónde tengo que seguir afinando.
Como alternativa, ¿has probado a lanzar dos ab’s simultáneos, uno con
post y otro con get?
habia pensado lo de tener varios ab a la vez probando get, put y
delete pero claro, tampoco es muy real que digamos, puesto que
normalmente en una app tienes muchos más gets que posts, la iea seria
tener 100 gets + 2 posts + 1 put y 1 delete, todo simultaneo, probando
10k requests i ver que tal se comporta el invento.
Viendo que no hay nada más o menos asi, me pondré a hacer algunas
pruebas con curl + ab, ya os contaré.
tengo el screencast, pero estamos en lo mismo: probar 10k request
iguales contra la misma url no es un test “válido” para mi. Sirve para
detectar slow requests i solucionar algun que otro memory leak o saber
como mejorar el rendimiento de una
acción.
Yo lo que quiero es simular que pasa cuando esté en producción, con
miles de usuarios atacando mi app, llamando a varios cientos de
acciones distintas, actualizando registros, borrando, creando, etc…
En este sentido JMeter no tenia mala pinta, però es una app de
Desktop, así que no me sirve.
Buenas gente,
Existe algo por allí para hacer este tipo de cosas? O hay que
ingeniarselas con scripts a base de curl? ¿Alguien ha probado algo
similar?
Me suena que Jaime I. abrió un hilo parecido hace tiempo …pero
no consigo encontrarlo.