ab가 apr_socket_recv로 오류가 발생했습니다 : 연결이 거부되었습니다 (61).


79

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를 반환합니다.

나는 바람둥이와 같은 문제가 있었고 다시 웹 사이트가 잘 작동했습니다.

문제가 무엇일까요?


1
이것이 ipv6 문제 일 수 있습니까? 로컬 호스트를 번역하고 :: 1을 먼저 사용하고 실패 할 수 있습니까?
Jürgen Strobel 2011

이것이 방화벽 문제일까요? 아니면 프록시를 사용하고 있습니까?
utapyngo

ab~ 16k 요청을 했을 때이 오류가 발생하는 경우 macOS에서 설명은 stackoverflow.com/a/30357879/537554 를 참조 하고 수정 사항은 serverfault.com/a/145937/91715 를 참조하십시오.
ryenus

답변:


179

localhost가 아닌 127.0.0.1을 사용하는 것으로 나타났습니다.

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

업데이트 : ab : https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ 의 버그 일 수 있습니다.


2
안녕하세요, 저에게는 아닙니다. 동일한 오류가 발생합니다. 당신은 사자를 달리고 있습니까? 그것은 나에게 b4 업그레이드를 위해 잘 작동했습니다.
Blankman 2011

2
내 오류는 당신과 약간 달랐지만 네, 저는 Lion에 있습니다. Lion의 ab 버그 인 것 같습니다. groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ
dkam

1
ab의 버그이며, apache를 패치하고 새로운 ab를 만들어야합니다. pls 아래 단계를 참조하십시오. stackoverflow.com/a/8825278/47441
Sun Liwen

Mountain Lion도 마찬가지이며 버전 2.3의 ab가 있습니다.
Arne

저를 위해 일한 동시성 매개 변수를 줄이십시오
Deepak

12

새 버전의 아파치가 문제를 해결했습니다. ab 만 재건하면됩니다.

http://archive.apache.org/dist/ 에서 최신 패키지를 다운로드하십시오.

아파치를 패치하고 새 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

지원 폴더에있는 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

끝난.


CP 지원해야합니다 / AB를 / usr / sbin에 (또는 어디든지 결정에 따라 '하는 AB'
선일 Gowda

8

-r소켓 수신 오류시 종료하지 않음을 의미 하는 옵션을 추가하십시오 . 때때로 기본 ulimit 크기 값을 변경할 수 있습니다. ab -r -n 10 -c 1 http://localhost:8090/


1

( )에 여전히 존재하는 또 다른 관련 버그 는 . Jürgen Strobel이 주석 에서 언급 한 것은 아마도이 버그 일 것입니다 . 다음 과 같이 진행 한다고 가정 해 보겠습니다 .abapache-2.4.29getaddrinfo/etc/hosts

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

getaddrinfofor localhost가 반환 한 첫 번째 결과 는 ::1입니다. 따라서 abIPv6를 통해 연결을 시도하고 실패합니다. 해결 방법은 사용하는 것입니다 127.0.0.1: ab -n 10 127.0.0.1/. 또는 라인을 재정렬하십시오. 하지만 제 경우에는 다음과 같이 말합니다.

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

0

이 버그에 대한 패치가 있으며이 가이드 의 단계를 따랐으며 이제 Lion에서 작동하는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.