Apache Bench test error pada OS X: “apr_socket_recv: Koneksi diatur ulang oleh rekan (54)”

55

Saya memperbarui MacBook Pro 13 "ke Lion beberapa minggu yang lalu. Saya baru tahu bahwa Apache Bench (apache2.2.19) tidak berfungsi. Selalu menampilkan kesalahan ini, apa pun yang terjadi:

apr_socket_recv: Koneksi diatur ulang oleh rekan (54)

Saya juga melakukan instalasi bersih pada Mac Mini dan menghasilkan kesalahan yang sama.

Bagaimana saya bisa memperbaikinya?

ben
sumber
Saya juga mendapatkan ini .. Saya mendapatkannya saat menguji server web Go kecil, dan dengan server Python Gevent.
Justin

Jawaban:

65

Perhatikan bahwa jika Anda menggunakan -rdengan Apache Bench, itu tidak akan keluar karena kesalahan.

Dari dokumentasi :

-r
Jangan keluar dari soket menerima kesalahan.

Miles
sumber
11
Seharusnya kecuali itu salah. Saya hanya mencoba untuk menjalankan: ab -n 200 -c 20 -r http://localhostdan mendapat (Tuhan melarang komentar memiliki baris baru!) Test aborted after 10 failures apr_socket_connect(): Operation already in progress (37) Total of 4 requests completed
umassthrower
3
sayangnya masih keluar
DataGreed
Bekerja untuk saya di OS X 10.9
Willem
47

Ini disebabkan oleh bug dalam perangkat lunak Apache yang dibundel dengan Lion. Versi Apache (beta) yang lebih baru memperbaiki masalah ini. Untuk memperbaiki ab, berikut adalah langkah-langkahnya:

  1. Unduh versi terbaru Apache

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

Jika 2.3.16 tidak tersedia, buka http://apache.mirrors.pair.com/httpd dan dapatkan yang terbaru

  1. Instal pcre (Anda perlu minuman untuk ini)

    $ brew install pcre
    
  2. Bangun Apache

    $ tar xzvf httpd-2.3.16-beta.tar.bz2
    $ cd httpd-2.3.16-beta
    $ ./configure
    $ make
    
  3. Timpa ab yang ada dengan ab yang baru dibangun

    $ sudo cp support/ab /usr/sbin
    
andy318
sumber
ketika saya makehttp saya mendapatkan: Simbol yang tidak terdefinisi: "_apr_file_link", dirujuk dari: _post_rotate di rotatelogs.o ld: simbol tidak ditemukan collect2: ld kembali 1 status keluar buat [2]: *** [rotatelogs] Kesalahan 1 make [1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 Ada tips bagaimana mengatasinya?
Jonathan
Apakah ini masih menjadi masalah di OSX 10.8.2?
Chris Wagner
3
saya membuat tolok ukur aplikasi node.js helloworld. Pada awalnya saya menerima Connection reset by peer (54)untuk abbenchmark apa pun . Kemudian setelah melakukan perbaikan di atas, saya bisa melakukannya ab -n 100 -c 100. Maka saya bisa melakukannya ab -n 200 -c 100. Saya bisa melakukan ab -n 200 -c 150... Ketika saya mengambil di -catas -c 200, SESUATU itu dijalankan dan kadang-kadang melempar Connection Reset by Peer (54)kesalahan. Menjadi non-deterministik. Apa yang harus dilakukan?
Rakib
3
Saat berjalan ./configure, lihat pos ini jika Anda mengalami configure: error: C compiler cannot create executables: stackoverflow.com/a/11712497/599391
Chiubaka
5

Menggunakan metode memperbarui ab melalui homebrew di tautan ini berhasil untuk saya.

brew install 'https://raw.github.com/simonair/homebrew-dupes/e5177ef4fc82ae5246842e5a544124722c9e975b/ab.rb'
brew test ab
mmay
sumber
2
Selamat Datang di Pengguna Super! Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
slhck
Saya mendapatkan:Error: Download failed: http://www.apache.org/dist/httpd/httpd-2.4.2.tar.bz2
Benjamin Crouzier
@pinouchon meskipun skrip sekarang lagi dipelihara oleh penulis, ini adalah tautan baru yang berfungsi: raw.githubusercontent.com/simonair/homebrew-dupes/… (ketik:brew install "https://raw.githubusercontent.com/simonair/homebrew-dupes/e26f111d450d1a030515e1dde4e1dc4693efa78d/ab.rb")
Matt3o12
Kesalahan: ab: metode yang tidak ditentukan `sha1 'untuk Formulary :: FormulaNamespacebc6d3f6af42f9cfa51e2e726dcc9ff30 :: Ab: Kelas @ Matt3o12
Mark Ramotowski
4

Apakah Anda mencoba menggunakan: 127.0.0.1bukannya localhost?

Juga ab saya gagal jika saya tidak menulis url dengan http://di depan.


sumber
2

Saya memiliki kesalahan yang sama dengan Mountain Lion ab v2.3, dan hampir siap untuk menginstal minuman dan versi terbaru dari ab seperti yang diperintahkan oleh salah satu jawaban di atas. Sebelum akhirnya berjalan seperti itu, saya mencoba menambahkan garis miring .

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

Dalam pesan di atas perhatikan format URL input yang diperlukan. Komponen opsional ditandai dengan tanda kurung siku, tetapi perhatikan bahwa bagian / path tampaknya bukan opsional. Jadi saya berasumsi bahwa jika saya menguji domain root, saya setidaknya harus menambahkan garis miring , yang benar-benar berhasil! Saya harap ini juga membantu Anda.

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
Mata
sumber
0

Beberapa hal untuk diuji:

  • dapatkah Anda mencoba menonaktifkan firewall melihat apakah itu berfungsi?
  • aktifkan berbagi web dan uji localhost / (pastikan itu berfungsi di browser terlebih dahulu)

Jika tidak satu pun dari pekerjaan itu dapat Anda membuka terminal dan

$ sudo opensnoop

kemudian jalankan bangku apache dan poskan output terminal opensnoop dalam pertanyaan. Jika tidak ada yang berhasil, Anda bisa mencoba menginstal macports dan kemudian menginstal apache dari sana dan melihat apakah itu berfungsi sebagai solusi (semacam lumpuh).

My Air ada di singa tetapi versi apache berbeda (ada pembaruan baru-baru ini, apakah Anda sudah menginstalnya?). Saya dapat memverifikasi ab tidak bekerja untuk saya:

$ 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
jumlahnya banyak
sumber
Terima kasih atas balasannya @polynomial :) ab google.com/bekerja untuk saya juga, cobaab -n 1000 -c 1000 google.com/
ben
@ Ben Saya ingat memiliki masalah yang sama, dan saya ingat itu diselesaikan dengan menambahkan http: //? Saya di mesin windows sekarang, akan memeriksa ketika saya pulang.