2012-06-25 24 views
6

Necesito hacer una prueba de carga para un servicio web. Requiere al menos 1000 usuarios concurrentes.¿Cómo debo simular 1000 usuarios simultáneos como reales?

Sé que algunas herramientas de prueba (por ejemplo, JMeter) podrían simular un grupo de usuarios simultáneos con múltiples hilos. Pero esos usuarios no son realmente concurrentes.

Si ejecuto el programa JMeter en una máquina con solo 2 núcleos de CPU, solo hay 2 usuarios simultáneos activos en un momento, aunque hay 1000 subprocesos múltiples generados con la herramienta de prueba.

¿Hay alguna manera de crear usuarios concurrentes reales?

Respuesta

11

Desde el punto de vista del servicio web, los usuarios son concurrentes. Una CPU con dos núcleos puede intercambiar fácilmente entre 1000 hilos; la mayoría de las veces, el hilo estará esperando E/S de red, por lo que es muy similar a cómo funcionaría si realmente tuvieras 1000 núcleos.

Así que JMeter debería estar bien. Es posible que si el hilo de prueba tiene que hacer un montón de trabajo intensivo de CPU, entonces eso pueda sesgar los resultados. Pero, por lo general, los hilos de prueba solo están esperando una respuesta.

+0

+1 por ser realista. Si necesita un usuario por CPU, necesitará 1000 CPU, que podrían ser "reales" pero no son realistas. –

3

Puede probar la herramienta * nix Siege después de leer FAQ about concurrent users.

+1

¿Cuál es la ventaja de Siege en comparación con JMeter? – JuliaLi

+0

Siege funciona desde el símbolo del sistema, es bastante fácil de utilizar de forma inmediata. – Prasad

Cuestiones relacionadas