ab đang xảy ra lỗi với apr_socket_recv: Kết nối bị từ chối (61)


79

Tôi đang thử nghiệm eventlet ra và gặp lỗi này:

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

Trang web hoạt động tại localhost: 8090 / và trả về 200 OK.

Tôi đã gặp vấn đề tương tự với tomcat, một lần nữa trang web hoạt động tốt.

Vấn đề có thể là gì?


1
Đây có thể là sự cố ipv6, ab đang cố gắng dịch localhost và sử dụng :: 1 trước và không thành công?
Jürgen Strobel

Đây có thể là một vấn đề tường lửa? Hoặc có thể bạn đang sử dụng proxy?
utapyngo

Nếu bạn gặp lỗi này khi abđã thực hiện ~ 16k yêu cầu, trên macOS, hãy xem phần này: stackoverflow.com/a/30357879/537554 để được giải thích và serverfault.com/a/145937/91715 để được khắc phục.
ryenus 14/07/19

Câu trả lời:


179

Tôi thấy việc sử dụng 127.0.0.1 thay vì localhost đã hoạt động:

ab -n 10 -c 1 http://127.0.0.1:8090/

Cập nhật: Có thể có lỗi trong ab: https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ


2
chào bạn, không phải cho tôi, tôi nhận được lỗi tương tự. Bạn đang chạy sư tử? nó hoạt động tốt cho tôi nâng cấp b4.
Blankman

2
Lỗi của tôi hơi khác với bạn - nhưng đúng vậy, tôi thuộc về Sư Tử. Có vẻ như một lỗi ab trên Lion: groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ
dkam

1
Đó là lỗi của ab, phải vá apache và tạo ab mới. Xin vui lòng xem các bước dưới đây. stackoverflow.com/a/8825278/47441
Sun Liwen

Tương tự với Mountain Lion, nó có phiên bản 2.3 của ab.
Arne

tôi hãy giảm thông số đồng thời phù hợp với tôi
Deepak

12

Apache của phiên bản mới đã khắc phục sự cố. Chỉ phải xây dựng lại ab.

Cố gắng tải xuống gói mới nhất từ http://archive.apache.org/dist/

Phải vá apache và xây dựng một ab mới.

$ 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

Chỉ phải xây dựng ab, nằm trong thư mục hỗ trợ.

$ cd support
$ make
...
$ ./ab -n 10 -c 1 http://localhost:8090/

Nếu apache của bạn rất cũ, hãy vá nó và xây dựng như trên.

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

Làm xong.


Hãy chắc chắn để hỗ trợ cp / ab đến / usr / sbin (hoặc bất cứ nơi nào theo quyết định của 'mà ab'
Sunil Gowda

8

thêm -rtùy chọn có nghĩa là Không thoát khi nhận lỗi ổ cắm. Đôi khi bạn có thể thay đổi giá trị kích thước ulimit mặc định. ab -r -n 10 -c 1 http://localhost:8090/


1

Một lỗi liên quan khác vẫn còn trong ab( apache-2.4.29) là nó chỉ lấy kết quả đầu tiên từ getaddrinfo. Có lẽ lỗi này được Jürgen Strobel đề cập trong một bình luận . Giả sử bạn có /etc/hostsnhư thế này:

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

Kết quả đầu tiên trả về getaddrinfocho localhost::1. Vì vậy, abcố gắng kết nối qua IPv6 và không thành công. Cách giải quyết là để sử dụng 127.0.0.1: ab -n 10 127.0.0.1/. Hoặc sắp xếp lại các dòng. Mặc dù vậy, trong trường hợp của tôi, nó nói:

Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111)

0

Có một bản vá cho lỗi này, tôi đã làm theo các bước của hướng dẫn này và nó có vẻ hoạt động với tôi bây giờ trong Lion.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.