I am testing eventlet out, and I am getting this error:
~>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
The website works at localhost:8090/ and returns 200 OK.
I had the same issue with tomcat, again the website worked fine.
What could the issue be?
New version's apache have fix the issue. Only have to rebuild ab.
Try to download latest package from http://archive.apache.org/dist/
Have to patch apache and build a new ab.
Only have to build ab, which located in support folder.
If your apache is very old, then patch it and build as above.
Done.
There is a patch for this bug, I followed the steps of this guide and it seems to work for me now in Lion.
I found using 127.0.0.1 rather than localhost worked:
ab -n 10 -c 1 http://127.0.0.1:8090/
Update: May have been a bug in ab: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ
Another related bug that is still present in
ab
(apache-2.4.29
) is that it takes just the first result fromgetaddrinfo
. It's probably this bug that is mentioned by Jürgen Strobel in a comment. Let's say you have/etc/hosts
that goes like this:The first result returned by
getaddrinfo
forlocalhost
is::1
. Soab
tries to connect over IPv6 and fails. The workaround is to use127.0.0.1
:ab -n 10 127.0.0.1/
. Or reorder the lines. Though, in my case it says:add the
-r
option which means Don't exit on socket receive errors. At times you might change the default ulimit size value.ab -r -n 10 -c 1 http://localhost:8090/