Kilka tygodni temu zaktualizowałem MacBooka Pro 13 "do Lion. Właśnie dowiedziałem się, że Apache Bench (apache2.2.19) nie działa. Zawsze pokazuje ten błąd, bez względu na:
apr_socket_recv: Resetowanie połączenia przez peer (54)
Zrobiłem również czystą instalację na moim Macu Mini i wystąpił ten sam błąd.
Jak mogę to naprawić?
Odpowiedzi:
Pamiętaj, że jeśli korzystasz
-r
z Apache Bench, nie zakończy się na błędach.Z dokumentacji :
źródło
ab -n 200 -c 20 -r http://localhost
i dostałem (Test aborted after 10 failures apr_socket_connect(): Operation already in progress (37) Total of 4 requests completed
Wynika to z błędu w oprogramowaniu Apache dołączonym do Lion. Nowsza wersja Apache (beta) rozwiązuje problem. Aby naprawić ab, oto kroki:
Pobierz najnowszą wersję Apache
Jeśli 2.3.16 nie jest dostępne, przejdź na stronę http://apache.mirrors.pair.com/httpd i uzyskaj najnowszą wersję
Zainstaluj PCR (potrzebujesz do tego naparu)
Zbuduj Apache
Zastąp istniejący ab nowym
źródło
make
otrzymuję http: Otrzymuję: Niezdefiniowane symbole: „_apr_plik_pliku”, do którego odwołuje się: _post_rotate w rotatelogs.o ld: nie znaleziono symboli (s) collect2: ld zwrócił 1 status wyjścia make [2]: *** [rotatelogs] Błąd 1 make [1]: *** [all-recursive] Błąd 1: *** [all-recursive] Błąd 1 Jakieś wskazówki, jak to rozwiązać?Connection reset by peer (54)
jakiegokolwiekab
benchmarkingu. Następnie po wykonaniu powyższej poprawki mogłem zrobićab -n 100 -c 100
. Wtedy mógłbym zrobićab -n 200 -c 100
. Mógłbym zrobićab -n 200 -c 150
... Kiedy przejdę-c
wyżej-c 200
, CZASAMI wykonuje, a czasem generujeConnection Reset by Peer (54)
błąd. Jest niedeterministyczny. Co robić?./configure
spójrz na ten post, jeśliconfigure: error: C compiler cannot create executables
Użycie metody aktualizacji ab przez homebrew pod tym linkiem działało dla mnie.
źródło
Error: Download failed: http://www.apache.org/dist/httpd/httpd-2.4.2.tar.bz2
brew install "https://raw.githubusercontent.com/simonair/homebrew-dupes/e26f111d450d1a030515e1dde4e1dc4693efa78d/ab.rb")
Próbowałeś użyć:
127.0.0.1
zamiast localhost?Również mój ab kończy się niepowodzeniem, jeśli nie napiszę adresu URL z
http://
przodu.źródło
Miałem ten sam błąd z Mountain Lion ab v2.3 i byłem prawie gotowy do zainstalowania naparu i najnowszej wersji ab zgodnie z instrukcją jednej z powyższych odpowiedzi. Zanim w końcu poszedłem w ten sposób, próbowałem po prostu dodać końcowy ukośnik .
W powyższym komunikacie zwróć uwagę na wymagany format wejściowego adresu URL. Opcjonalne komponenty są oznaczone nawiasami kwadratowymi, ale zauważ, że / ścieżka część wydaje się być nie opcjonalne. Więc założyłem, że jeśli testuję domenę root, powinienem przynajmniej dodać końcowy ukośnik , co naprawdę załatwiło sprawę! Mam nadzieję, że to również ci pomoże.
źródło
Kilka rzeczy do przetestowania:
Jeśli żadna z tych czynności nie działa, możesz otworzyć terminal i
następnie uruchom ławkę Apache i opublikuj dane wyjściowe terminalu opensnoop w pytaniu. Jeśli nic z tego nie działa, możesz spróbować zainstalować Macports, a następnie zainstalować apache stamtąd i sprawdzić, czy to działa jako obejście (rodzaj kulawizny).
My Air jest na lwie, ale wersja apache jest inna (ostatnio była aktualizacja, czy już ją zainstalowałeś?). Byłem w stanie sprawdzić, czy ab działa dla mnie:
źródło
ab google.com/
dla mnie działa, spróbujab -n 1000 -c 1000 google.com/