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.