Pregunta ab está sacando un error con apr_socket_recv: conexión rechazada (61)


Estoy probando eventlet y obtengo este 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

El sitio web funciona en localhost: 8090 / y devuelve 200 OK.

Tuve el mismo problema con Tomcat, de nuevo, el sitio web funcionó bien.

¿Cuál podría ser el problema?


73
2017-10-29 12:21


origen


Respuestas:


Encontré usar 127.0.0.1 en lugar de localhost funcionó:

ab -n 10 -c 1 http://127.0.0.1:8090/

Actualizar: Puede haber sido un error en ab: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ


168
2017-11-13 21:02



El apache de la nueva versión ha solucionado el problema. Solo tienes que reconstruir ab.

Intenta descargar el último paquete de http://archive.apache.org/dist/

Tienes que parchear apache y construir un nuevo 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

Solo tiene que crear ab, que se encuentra en la carpeta de soporte.

$ cd support
$ make
...
$ ./ab -n 10 -c 1 http://localhost:8090/

Si tu apache es muy antiguo, mézclalo y compila como se indica arriba.

$ wget https://www.rtfm.ro/download/patches/ab.patch --no-check-certificate
$ patch -p0 < ./ab.patch

Hecho.


11
2018-01-11 19:17



añade el -r opción que significa No salir de socket recibe errores. A veces puede cambiar el valor de tamaño de ulimit predeterminado. ab -r -n 10 -c 1 http://localhost:8090/


4
2017-12-28 05:37



Hay un parche para este error, seguí los pasos de esta guía y parece funcionar para mí ahora en Lion.


0
2018-01-05 00:44



Otro error relacionado que todavía está presente en ab (apache-2.4.29) es que solo se necesita el primer resultado de getaddrinfo. Es probable que este error sea mencionado por Jürgen Strobel en una comentario. Digamos que tienes /etc/hosts que dice así:

127.0.0.1   localhost.localdomain   localhost
::1     localhost.localdomain   localhost

El primer resultado devuelto por getaddrinfo para localhost es ::1. Asi que ab intenta conectarse a través de IPv6 y falla. La solución es usar 127.0.0.1: ab -n 10 127.0.0.1/. O reordena las líneas. Aunque, en mi caso dice:

Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111)

0
2018-01-07 16:14