81

イベントレットをテストしていますが、次のエラーが発生します。

~>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

Webサイトはlocalhost:8090 /で動作し、200OKを返します。

tomcatでも同じ問題が発生しましたが、Webサイトは正常に機能しました。

問題は何でしょうか?

4

5 に答える 5

180

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

于 2011-11-13T21:02:55.190 に答える
12

新しいバージョンの apache では問題が修正されています。abを再構築するだけです。

http://archive.apache.org/dist/から最新のパッケージをダウンロードしてみてください

apache にパッチを当て、新しい 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/

Apache が非常に古い場合は、パッチを適用して上記のようにビルドします。

$ wget https://www.rtfm.ro/download/patches/ab.patch --no-check-certificate
$ patch -p0 < ./ab.patch

終わり。

于 2012-01-11T19:17:07.533 に答える
9

-rソケット受信エラーで終了しないことを意味するオプションを追加します。デフォルトの ulimit サイズ値を変更する場合があります。 ab -r -n 10 -c 1 http://localhost:8090/

于 2016-12-28T05:37:44.890 に答える
1

( )にまだ存在する別の関連するバグは、 から最初の結果だけを取得することです。Jürgen Strobel のコメントで言及されているのは、おそらくこのバグです。次のようになっているとしましょう。abapache-2.4.29getaddrinfo/etc/hosts

127.0.0.1   localhost.localdomain   localhost
::1     localhost.localdomain   localhost

getaddrinfoforによって返される最初の結果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)
于 2018-01-07T16:14:32.083 に答える
0

このバグにはパッチがあります。このガイドの手順に従いましたが、現在 Lion で動作しているようです。

于 2012-01-05T00:44:26.413 に答える