2011-10-29 12 views
70

estoy probando eventlet, y yo estoy recibiendo este error:AB es erroring con apr_socket_recv: Conexión rechazada (61)

~>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/200 y devuelve OK.

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

¿Cuál podría ser el problema?

+1

¿Podría ser un problema de ipv6, tratando de traducir localhost y usar :: 1 primero y fallando? –

+0

¿Podría ser esto un problema de firewall? ¿O tal vez estás usando proxy? – utapyngo

Respuesta

160

encontré usando 127.0.0.1 localhost en lugar de trabajó:

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

Actualización: puede haber sido un error en ab: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ

+2

hola, no para mí, me sale el mismo error. ¿Estás ejecutando león? funcionó bien para mí actualizar b4. – Blankman

+2

Mi error fue ligeramente diferente para usted, pero sí, estoy en Lion. Parece un error ab en Lion: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ – dkam

+1

Es un error de ab, tiene que parchear Apache y construir un nuevo ab. Vea los pasos a continuación por favor. http://stackoverflow.com/a/8825278/47441 –

0

Hay un parche para este fallo, he seguido los pasos de this guide y parece funcionar para mí ahora en Lion.

11

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

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

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 

Sólo tiene que construir ab, que encuentra en la carpeta de soporte.

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

Si su apache es muy antiguo, móntelo y compárelo como se indica anteriormente.

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

Listo.

+0

Asegúrese de cp support/ab a/usr/sbin (o donde sea que lo determine 'qué ab' –

+0

@SunilGowda Debería funcionar en cualquier lugar. –

+0

esta publicación debe actualizarse .No se puede descargar nada. – FelikZ

3

agregue la opción -r lo que significa No salir de socket recibe errores. En ocasiones, puede cambiar el valor de tamaño de ulimit predeterminado. ab -r -n 10 -c 1 http://localhost:8090/

0

Otra related bug que todavía está presente en ab (apache-2.4.29) es que sólo se necesita el primer resultado de getaddrinfo. Es probable que este error sea mencionado por Jürgen Strobel en un comment. Digamos que usted tiene /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. Por lo tanto, ab intenta conectarse a través de IPv6 y falla. La solución alternativa 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) 
Cuestiones relacionadas