Je teste Eventlet et j'obtiens cette erreur:
~>ab -n 10 -c 1 http://localhost:8090/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.Apache.org/
Benchmarking localhost (be patient)...apr_socket_recv: Connection reset by peer (54)
Total of 2 requests completed
Le site Web fonctionne à localhost: 8090/et renvoie 200 OK.
J'ai eu le même problème avec Tomcat, encore une fois, le site Web a bien fonctionné.
Quel pourrait être le problème?
J'ai trouvé que l'utilisation de 127.0.0.1 plutôt que celle de localhost fonctionnait:
ab -n 10 -c 1 http://127.0.0.1:8090/
Mise à jour: peut avoir été un bogue dans ab: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ
Apache de la nouvelle version a résolu le problème. Il suffit de reconstruire ab.
Essayez de télécharger le dernier paquet depuis http://archive.Apache.org/dist/
Vous devez patcher Apache et construire un nouveau ab.
$ wget http://archive.Apache.org/dist/httpd/httpd-2.3.16-beta.tar.bz2
$ tar jxvf httpd-2.3.16-beta.tar.bz2
$ cd httpd-2.3.16-beta
$ ./configure
Il suffit de construire ab, qui se trouve dans le dossier de support.
$ cd support
$ make
...
$ ./ab -n 10 -c 1 http://localhost:8090/
Si votre Apache est très ancien, corrigez-le et construisez comme ci-dessus.
$ wget https://www.rtfm.ro/download/patches/ab.patch --no-check-certificate
$ patch -p0 < ./ab.patch
Terminé.
ajouter le -r
option qui signifie Ne pas quitter sur socket reçoit des erreurs. Parfois, vous pouvez modifier la valeur de taille ulimit par défaut. ab -r -n 10 -c 1 http://localhost:8090/
Un autre bug lié qui est toujours présent dans ab
(Apache-2.4.29
) est qu'il ne prend que le premier résultat de getaddrinfo
. C'est probablement ce bug qui est mentionné par Jürgen Strobel dans un commentaire . Disons que vous avez /etc/hosts
qui ressemble à ceci:
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
Le premier résultat renvoyé par getaddrinfo
pour localhost
est ::1
. ab
essaie donc de se connecter via IPv6 et échoue. La solution consiste à utiliser 127.0.0.1
: ab -n 10 127.0.0.1/
. Ou réorganisez les lignes. Cependant, dans mon cas, cela dit:
Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111)
Il existe un correctif pour ce bug, j'ai suivi les étapes de ce guide et il semble fonctionner pour moi maintenant dans Lion.