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이 주석 에서 언급 한 것은 아마도이 버그 일 것입니다 . 다음 과 같이 진행 한다고 가정 해 보겠습니다 .ab
apache-2.4.29
getaddrinfo
/etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
getaddrinfo
for 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)