OS X의 Apache Bench 테스트 오류 :“apr_socket_recv : 피어에 의한 연결 재설정 (54)”


55

몇 주 전에 MacBook Pro 13 "을 Lion로 업데이트했습니다. Apache Bench (apache2.2.19)가 작동하지 않는 것을 발견했습니다.

apr_socket_recv : 피어에 의한 연결 재설정 (54)

또한 Mac Mini를 새로 설치했는데 같은 오류가 발생했습니다.

이 문제를 어떻게 해결할 수 있습니까?


나도 이것들을 얻는다. 작은 Go 웹 서버와 파이썬 Gevent 서버를 테스트하는 동안 그것들을 얻는다.
저스틴

답변:


65

-rApache Bench와 함께 사용하면 오류가 발생해도 종료되지 않습니다.

로부터 문서 :

-r
소켓 수신 오류를 종료하지 마십시오.


11
잘못 제외하고해야합니다. : 난 그냥 실행하려고 ab -n 200 -c 20 -r http://localhost(신 코멘트가 줄 바꿈이 금지!)하고있어 Test aborted after 10 failures apr_socket_connect(): Operation already in progress (37) Total of 4 requests completed
umassthrower

3
불행히도 여전히 종료됩니다
DataGreed

OS X 10.9에서 나를 위해 일했습니다
Willem

47

이것은 Lion과 함께 제공되는 Apache 소프트웨어의 버그로 인한 것입니다. 최신 버전의 Apache (베타)가 문제를 해결합니다. ab를 수정하려면 다음 단계를 수행하십시오.

  1. 최신 버전의 Apache 다운로드

    $ wget http://apache.mirrors.pair.com//httpd/httpd-2.3.16-beta.tar.bz2
    

2.3.16을 사용할 수없는 경우 http://apache.mirrors.pair.com/httpd 로 이동 하여 최신 정보를 얻으십시오.

  1. pcre를 설치하십시오 (이를 위해 양조해야합니다)

    $ brew install pcre
    
  2. 아파치 빌드

    $ tar xzvf httpd-2.3.16-beta.tar.bz2
    $ cd httpd-2.3.16-beta
    $ ./configure
    $ make
    
  3. 기존 ab를 새로 빌드 한 ab로 덮어 씁니다.

    $ sudo cp support/ab /usr/sbin
    

makehttp가 표시 될 때 : 정의되지 않은 기호 : "_apr_file_link", 참조 : 회전 로그에서 _post_rotate.o ld : 기호를 찾을 수 없음 collect2 : ld가 1 개의 종료 상태를 작성했습니다. make [2] : *** [rotatelogs] 오류 1 make [1] : *** [모든 재귀] 오류 1 make : *** [모든 재귀] 오류 1 문제를 해결하는 방법이 있습니까?
Jonathan

이것이 OSX 10.8.2에서 여전히 문제입니까?
Chris Wagner

3
node.js helloworld 앱을 벤치마킹하고 있습니다. 처음에는 Connection reset by peer (54)모든 ab벤치마킹에 대한을 받았습니다 . 그런 다음 위의 수정을 수행 한 후 할 수 ab -n 100 -c 100있습니다. 그럼 내가 할 수 ab -n 200 -c 100있습니다. 내가 할 수 ab -n 200 -c 150... 내가 -c위에 걸릴 때 -c 200, 때때로 실행되고 때로는 Connection Reset by Peer (54)오류가 발생합니다. 비 결정적입니다. 무엇을해야합니까?
Rakib December

3
실행할 때 ./configure당신이로 실행하면,이 게시물을 살펴 configure: error: C compiler cannot create executables: stackoverflow.com/a/11712497/599391
Chiubaka

5

링크 에서 homebrew를 통해 ab를 업데이트하는 방법을 사용하면 나에게 도움이되었습니다.

brew install 'https://raw.github.com/simonair/homebrew-dupes/e5177ef4fc82ae5246842e5a544124722c9e975b/ab.rb'
brew test ab

2
슈퍼 유저에 오신 것을 환영합니다! 이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
slhck

Error: Download failed: http://www.apache.org/dist/httpd/httpd-2.4.2.tar.bz2
Benjamin Crouzier

@pinouchon 스크립트가 더 이상 저자에 의해 유지 관리되고 있지만 여기에는 새로운 작업 링크가 있습니다. raw.githubusercontent.com/simonair/homebrew-dupes/… (유형 :brew install "https://raw.githubusercontent.com/simonair/homebrew-dupes/e26f111d450d1a030515e1dde4e1dc4693efa78d/ab.rb")
Matt3o12

오류 : AB : 처방집에 대한 정의되지 않은 메서드`SHA1 ':: FormulaNamespacebc6d3f6af42f9cfa51e2e726dcc9ff30 :: AB : 클래스 Matt3o12 @
마크 Ramotowski

4

127.0.0.1localhost 대신 다음을 사용하려고 했습니까 ?

또한 http://앞에 URL을 쓰지 않으면 내 ab가 실패합니다 .


2

Mountain Lion ab v2.3에서 동일한 오류가 발생했으며 위의 답변 중 하나의 지시에 따라 brew 및 최신 버전의 ab를 설치할 준비가 거의되었습니다. 마침내 그런 식으로 가기 전에 후행 슬래시를 추가 하려고했습니다 .

user$ ab http://dl.cubrid.org
ab: invalid URL
Usage: ab [options] [http[s]://]hostname[:port]/path

위의 메시지에서 입력 URL의 필수 형식에주의하십시오. 선택적 구성 요소에는 대괄호가 표시되어 있지만 / path 부분은 선택 사항 이 아닌 것 같습니다 . 따라서 루트 도메인을 테스트하는 경우 적어도 슬래시를 추가 해야한다고 가정했습니다. 실제로 트릭을 수행했습니다! 나는 이것이 당신에게도 도움이되기를 바랍니다.

user$ ab dl.cubrid.org/
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 dl.cubrid.org (be patient).....done


Server Software:        
Server Hostname:        dl.cubrid.org
Server Port:            80

Document Path:          /
Document Length:        13437 bytes

Concurrency Level:      1
Time taken for tests:   0.863 seconds
Complete requests:      1
Failed requests:        0
Write errors:           0
Total transferred:      13606 bytes
HTML transferred:       13437 bytes
Requests per second:    1.16 [#/sec] (mean)
Time per request:       862.778 [ms] (mean)
Time per request:       862.778 [ms] (mean, across all concurrent requests)
Transfer rate:          15.40 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      207  207   0.0    207     207
Processing:   655  655   0.0    655     655
Waiting:      234  234   0.0    234     234
Total:        862  862   0.0    862     862

0

테스트 할 몇 가지 사항 :

  • 방화벽이 작동하는지 확인할 수 있습니까?
  • 웹 공유 활성화 및 localhost / 테스트 (브라우저에서 먼저 작동하는지 확인)

그 중 어느 것도 작동하지 않으면 터미널을 열 수 있고

$ sudo opensnoop

그런 다음 아파치 벤치를 실행하고 질문에 opensnoop 터미널의 출력을 게시하십시오. 그중 아무것도 작동하지 않으면 macports를 설치 한 다음 아파치를 설치하고 그 문제가 해결 방법으로 작동하는지 확인할 수 있습니다 (일종의 절름발이).

My Air가 활발하지만 아파치 버전이 다릅니다 (최근 업데이트가 있었으므로 이미 설치 했습니까?). ab가 나를 위해 작동하는지 확인할 수있었습니다.

$ ab -V
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/
$ uname -a
Darwin air.local 11.1.0 Darwin Kernel Version 11.1.0: Tue Jul 26 16:07:11 PDT 2011; root:xnu-1699.22.81~1/RELEASE_X86_64 x86_64
$ ab google.com/ 
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 google.com (be patient).....done


Server Software:        gws
Server Hostname:        google.com
Server Port:            80

Document Path:          /
Document Length:        219 bytes

Concurrency Level:      1
Time taken for tests:   4.130 seconds
Complete requests:      1
Failed requests:        0
Write errors:           0
Non-2xx responses:      1
Total transferred:      511 bytes
HTML transferred:       219 bytes
Requests per second:    0.24 [#/sec] (mean)
Time per request:       4130.343 [ms] (mean)
Time per request:       4130.343 [ms] (mean, across all concurrent requests)
Transfer rate:          0.12 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:     4119 4119   0.0   4119    4119
Processing:    11   11   0.0     11      11
Waiting:       11   11   0.0     11      11
Total:       4130 4130   0.0   4130    4130

답장을 보내 주셔서 감사합니다 @polynomial :) ab google.com/저에게도 효과가 있습니다.ab -n 1000 -c 1000 google.com/
ben

@ben 비슷한 문제가 있었음을 기억하고 http : //? 나는 지금 Windows 컴퓨터에 있고, 집에 돌아올 때 확인합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.