erreur ab (Apache Bench): apr_poll: le délai d’attente spécifié a expiré (70007) sous Windows

Je charge le test IIS 7.5 (WinR2 / SP1) à partir de mon client Windows 7 / SP1. J’ai un script qui fait trois appels ab comme:

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

Lorsque la concurrence est supérieure à 5, je reçois rapidement le message d’erreur

apr_poll: le délai d’attente spécifié a expiré (70007)

Et ab cesse de faire des demandes. Je n’arrive même pas aux 100 demandes complétées .

Cela se produit dans les 30 secondes suivant le démarrage de mon script. La page de documentation ab ne fournit pas beaucoup. Question relative au dépassement de stack Question liée à la défaillance du serveur .

Vous devez avoir l’ option 2.4 version et utiliser l’ option -s timeout .

Vous pouvez utiliser mon fichier binary win32-x86 (compilé sous Visual Studio 2008 à partir du tronc du 8 février 2013):

Je l’ai fait en utilisant: http://code.google.com/p/apachebench-standalone/wiki/HowToBuild et 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

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

Ajouter l’option: -s 120 à la commande ab, où 120 est le nouveau délai d’expiration. Si cela ne suffit pas, réglez-le encore plus haut …

ab –help

 -s timeout Seconds to max. wait for each response Default is 30 seconds -k Use HTTP KeepAlive feature 

Ça marche pour moi

Cela ressemble à un bug ab.

J’ai eu un problème similaire sur OS X (maintenant que vous mentionnez que cela se produit sous Windows, je suis plus confiant que ab est le coupable). J’ai contourné le profilage et le suivi de mon application Web, mais je n’ai rien trouvé. J’ai ensuite testé les pages statiques hors de nginx, et cela me donnait toujours l’erreur. Je suis donc allé et j’ai trouvé un remplaçant … jMeter. Fonctionne très bien, mais j’aimerais quand même savoir quel est le problème.