ab выдает ошибку apr_socket_recv: соединение отклонено (61)

Я тестирую eventlet, и я получаю эту ошибку:

~>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

Сайт работает по адресу localhost:8090/ и возвращает 200 OK.

У меня была такая же проблема с tomcat, снова сайт работал нормально.

В чем может быть проблема?


person Blankman    schedule 29.10.2011    source источник
comment
Может ли это быть проблемой ipv6, когда ab пытается сначала перевести localhost и использовать :: 1 и не удается?   -  person Jürgen Strobel    schedule 14.11.2011
comment
Может ли это быть проблемой брандмауэра? Или, может быть, вы используете прокси?   -  person utapyngo    schedule 19.11.2011
comment
Если вы получаете эту ошибку, когда ab сделал ~ 16 тыс. запросов в macOS, см. это: stackoverflow.com/a/30357879/537554 для объяснения и serverfault.com/a/145937/91715 для исправления.   -  person ryenus    schedule 14.07.2019


Ответы (5)


Я обнаружил, что использование 127.0.0.1 вместо localhost работает:

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

Обновление: возможно, ошибка в ab: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ

person dkam    schedule 13.11.2011
comment
привет, не для меня, я получаю ту же ошибку. Вы управляете львом? у меня отлично работало обновление b4. - person Blankman; 14.11.2011
comment
Моя ошибка немного отличалась от вашей - но да, я на Льве. Похоже на ошибку ab в Lion: groups.google.com/forum/ #!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ - person dkam; 15.11.2011
comment
Это ошибка ab, нужно исправить apache и построить новый ab. См. шаги ниже, пожалуйста. stackoverflow.com/a/8825278/47441 - person Sun Liwen; 11.01.2012
comment
То же самое касается Mountain Lion, у него версия 2.3 ab. - person Arne; 31.12.2012
comment
я бы уменьшил параметр параллелизма, который сработал для меня - person Deepak; 26.05.2017

В новой версии apache исправлена ​​проблема. Осталось только восстановить аб.

Попробуйте загрузить последний пакет с http://archive.apache.org/dist/.

Приходится патчить апач и строить новый аб.

$ 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

Только нужно построить ab, который находится в папке поддержки.

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

Если ваш апач очень старый, пропатчите его и соберите, как указано выше.

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

Сделанный.

person Sun Liwen    schedule 11.01.2012
comment
Удостоверьтесь, что cp support/ab находится в /usr/sbin (или где угодно, как определено параметром «какой ab» - person Sunil Gowda; 20.05.2012

добавьте параметр -r, который означает «Не выходить при ошибках получения сокета». Иногда вы можете изменить значение размера ulimit по умолчанию. ab -r -n 10 -c 1 http://localhost:8090/

person Fan Yer    schedule 28.12.2016

Еще одна связанная ошибка, которая все еще присутствует в ab (apache-2.4.29), заключается в том, что он принимает только первый результат от getaddrinfo. Вероятно, именно эта ошибка упоминается Юргеном Штробелем в комментарий. Допустим, у вас есть /etc/hosts, который выглядит так:

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

Первый результат, возвращенный getaddrinfo для localhost, равен ::1. Итак, ab пытается подключиться через IPv6 и терпит неудачу. Обходной путь — использовать 127.0.0.1: ab -n 10 127.0.0.1/. Или изменить порядок строк. Хотя в моем случае написано:

Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111)
person x-yuri    schedule 07.01.2018

Для этой ошибки существует исправление. Я следовал инструкциям этого руководства, и, похоже, оно работает для я сейчас во Льве.

person bithavoc    schedule 05.01.2012