2012-04-17 11 views
36

Sto caricando il test IIS 7.5 (WinR2/SP1) dal mio client Windows   7/SP1. Ho uno script che fa tre ab chiamate come:ab (Apache Bench) errore: apr_poll: Il timeout specificato è scaduto (70007) su Windows

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

Quando la concorrenza è> 5, ho subito il messaggio di errore

apr_poll: The timeout specified has expired (70007)

E ab smette di fare richieste. Non arrivo nemmeno a Completato 100 richieste.

Questo succede entro 30 secondi dall'inizio del mio script. La pagina di documentazione ab non fornisce molto. Related Stack Overflow question. Server Fault related question.

+1

Una cosa simile è accaduto anche a me. Il problema era legato al mio codice. Non sono sicuro se questo è il caso qui, però. – tugberk

+0

@tugberk - esattamente, un bug nella mia concorrenza limitata al codice WebApi. Non appena ho risolto il bug, il messaggio apr_poll è andato via. – RickAndMSFT

+0

Puoi provare la soluzione fornita in questo thread: http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server –

risposta

3

Sembra un bug ab.

Ho avuto un problema simile su OS X (ora che hai detto che succede su Windows, mi sento più sicuro che ab è il colpevole). Sono andato in giro a profilare e tracciare la mia applicazione web, ma non ho trovato nulla. Ho quindi testato le pagine statiche su nginx e ancora mi ha dato l'errore. Quindi sono andato e ho trovato un sostituto ... jMeter. Funziona alla grande, ma mi piacerebbe comunque sapere qual è il problema.

+0

Mi chiedo lo stesso. Nella mia situazione sto usando una concorrenza elevata e l'errore non è riproducibile, ma coerentemente -n meno 2, ad es. ab -c 500 -n 10000 => 9998 completo, 2 timeout. Forse correlato: https://bz.apache.org/bugzilla/show_bug.cgi?id=22686 –

22

È necessario disporre della versione 2.4 e utilizzare -s timeout option.

Puoi usare il mio win32-x86 binario (compilato in Visual   Studio   2008 dalle tronco 8 Feb 2013):

mi è stato fatto utilizzando : http://code.google.com/p/apachebench-standalone/wiki/HowToBuild e http://ftp.ps.pl/pub/apache//apr/binaries/win32/apr-1.3.6-iconv-1.2.1-util-1.3.8-win32-x86-msvcrt60.zip

+3

L'exe stand-alone lamenta la mancanza di "libapr-1.dll". –

+2

E con una versione 2.2 utilizzare l'opzione -t timelimit – Ponytech

+0

Se non è possibile scaricare o non funziona, si prega di informare me invece di downvote. –

10
ab --help 

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

Aggiungi opzione: -s 120 al comando ab, dove 120 è nuovo timeout. Se non è abbastanza impostato ancora più in alto ...

6

ab --help

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

-k     Use HTTP KeepAlive feature 

Funziona per me