web-dev-qa-db-ja.com

OS XでのApacheベンチテストエラー:「apr_socket_recv:接続がピアによってリセットされました(54)」

数週間前にMacBook Pro 13 "をLionに更新しました。ApacheBench(Apache2.2.19)が機能していないことがわかりました。何が起こっても、常にこのエラーが表示されます:

apr_socket_recv:ピアによる接続のリセット(54)

Mac Miniにもクリーンインストールを行ったところ、同じエラーが発生しました。

どうすれば修正できますか?

56
ben

-r Apache Benchでは、エラーが発生しても終了しません。

ドキュメント から:

-r
ソケット受信エラーで終了しないでください。

67
Miles

これは、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が必要です)

    $ brew install pcre
    
  2. Apacheをビルドする

    $ 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
    
47
andy318

this リンクでhomebrewを介してabを更新する方法を使用すると、うまくいきました。

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

Localhostの代わりに127.0.0.1を使用してみましたか?

また、前にhttp://を付けてURLを記述しないと、abが失敗します。

4
user98645

私は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
2
Eye

テストするいくつかのこと:

  • それが機能するかどうかを確認しながら、ファイアウォールを無効にしてみてください。
  • web共有を有効にしてlocalhost /をテストします(まずブラウザーで機能することを確認してください)

これらのどちらもうまくいかない場合は、ターミナルを開いて、

$ Sudo opensnoop

次に、Apacheベンチを実行して、問題のopensnoopターミナルの出力を投稿します。それでもうまくいかない場合は、macportsをインストールしてからApacheをインストールし、それが回避策として機能するかどうかを確認してください(一種の不完全な問題)。

私のAirはライオンズですが、Apacheのバージョンが異なります(最近アップデートがありましたが、すでにインストールしていますか?)私は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
0
polynomial