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

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

문제가 무엇일까요?



답변

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 의 버그 일 수 있습니다.


답변

새 버전의 아파치가 문제를 해결했습니다. 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

끝난.


답변

-r소켓 수신 오류시 종료하지 않음을 의미 하는 옵션을 추가하십시오 . 때때로 기본 ulimit 크기 값을 변경할 수 있습니다.

ab -r -n 10 -c 1 http://localhost:8090/


답변

( )에 여전히 존재하는 또 다른 관련 버그 는 . 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)


답변

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


답변