2012-04-17 30 views
36

Estoy cargando la prueba de IIS 7.5 (WinR2/SP1) desde mi cliente Windows   7/SP1. Tengo un script que hace tres ab llamadas como:ab (Apache Bench) error: apr_poll: El tiempo de espera especificado ha expirado (70007) en Windows

start /B cmd /c ab.exe -k -n 500 -c 50 http://rhvwr2vsu410/HelloWebAPI/Home/SyncProducts > SyncProducts.txt 

Cuando la concurrencia es> 5, pronto el mensaje de error

apr_poll: The timeout specified has expired (70007)

Y ab deja de hacer peticiones. Ni siquiera llego al Completé 100 solicitudes.

Esto ocurre dentro de los 30 segundos de iniciar mi script. La página de documentación ab no proporciona mucho. Related Stack Overflow question. Server Fault related question.

+1

Algo similar le pasó a mí también. El problema estaba relacionado con mi código. Sin embargo, no estoy seguro de si este es el caso aquí. – tugberk

+0

@tugberk - exactamente, un error en mi concurrencia limitada de código WebApi. Tan pronto como arreglé el error desapareció el mensaje apr_poll. – RickAndMSFT

+0

Puede probar la solución dada en este hilo: http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server –

Respuesta

3

Suena como un error de ab.

Tuve un problema similar en OS X (ahora que mencionas que sucede en Windows, me siento más seguro de que ab es el culpable). Fui perfilando y rastreando mi aplicación web, pero no pude encontrar nada. Luego probé páginas estáticas fuera de nginx, y todavía me dio el error. Entonces fui y encontré un reemplazo ... jMeter. Funciona muy bien, pero me gustaría saber cuál es el problema.

+0

Me pregunto lo mismo. En mi situación, estoy usando concurrencia alta y la falla no es reproducible, pero consistentemente -n menos 2. ej. ab -c 500 -n 10000 => 9998 completo, 2 tiempos de espera. Tal vez relacionado: https://bz.apache.org/bugzilla/show_bug.cgi?id=22686 –

22
+3

El exe independiente se queja de que "libapr-1.dll" no se encuentra. –

+2

Y con una versión 2.2 use la opción -t timelimit – Ponytech

+0

Si no puede descargar o no funciona, infórmeme en lugar de downvote. –

10
ab --help 

-s timeout  Seconds to max. wait for each response 
        Default is 30 seconds 

Agregue la opción: -s 120 al comando ab, donde 120 es un nuevo tiempo de espera. Si no se establece lo suficientemente aún más alto ...

6

ab --help

-s  timeout  Seconds to max. wait for each response 
        Default is 30 seconds 

-k     Use HTTP KeepAlive feature 

Funciona para mí

Cuestiones relacionadas