Ich habe mein MacBook Pro 13 "vor ein paar Wochen auf Lion aktualisiert. Ich habe gerade herausgefunden, dass Apache Bench (apache2.2.19) nicht funktioniert. Es wird immer dieser Fehler angezeigt, egal was passiert:
apr_socket_recv: Verbindung von Peer zurückgesetzt (54)
Ich habe auch eine Neuinstallation auf meinem Mac Mini durchgeführt und es ist derselbe Fehler aufgetreten.
Wie kann ich das beheben?
Antworten:
Beachten Sie, dass
-r
Apache Bench bei Verwendung nicht bei Fehlern beendet wird.Aus der Dokumentation :
quelle
ab -n 200 -c 20 -r http://localhost
und bekam (Gott verbiete einen Kommentar, habe Zeilenumbrüche!)Test aborted after 10 failures apr_socket_connect(): Operation already in progress (37) Total of 4 requests completed
Dies liegt an einem Fehler in der mit Lion gelieferten Apache-Software. Eine neuere Version von Apache (Beta) behebt das Problem. Ab zu beheben, sind hier die Schritte:
Laden Sie die neueste Version von Apache herunter
Wenn 2.3.16 nicht verfügbar ist, rufen Sie http://apache.mirrors.pair.com/httpd auf und laden Sie die neueste Version herunter
Installiere pcre (du brauchst dafür ein Gebräu)
Erstellen Sie Apache
Überschreiben Sie den vorhandenen ab mit dem neu erstellten
quelle
make
http erhalte, erhalte ich: Undefinierte Symbole: "_apr_file_link", referenziert von: _post_rotate in rotatelogs.o ld: Symbol (e) nicht gefunden collect2: ld hat 1 Exit-Status zurückgegeben make [2]: *** [rotatelogs] Fehler 1 make [1]: *** [rekursiv] Fehler 1 make: *** [rekursiv] Fehler 1 Irgendwelche Tipps, wie man das löst?Connection reset by peer (54)
für einab
Benchmarking. Nachdem ich das oben beschriebene Problem behoben hatte, konnte ich es tunab -n 100 -c 100
. Dann könnte ich tunab -n 200 -c 100
. Ich könnte tunab -n 200 -c 150
... Wenn ich-c
oben-c 200
nehme, wird es manchmal ausgeführt und manchmal wird einConnection Reset by Peer (54)
Fehler ausgegeben . Es ist nicht deterministisch. Was ist zu tun?./configure
Sie beim Laufen einen Blick auf diesen Beitrag, wenn Sie auf Folgendesconfigure: error: C compiler cannot create executables
Die Methode, ab über Homebrew unter diesem Link zu aktualisieren, hat bei mir funktioniert.
quelle
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")
Haben Sie versucht:
127.0.0.1
anstelle von localhost zu verwenden?Auch mein AB schlägt fehl, wenn ich keine URL mit
http://
vorne schreibe .quelle
Ich hatte den gleichen Fehler mit Mountain Lion ab v2.3 und war fast bereit, Brew und die neueste Version von ab zu installieren, wie in einer der obigen Antworten angegeben. Bevor ich endlich so weitermachte, habe ich versucht , den abschließenden Schrägstrich einzufügen .
Achten Sie in der obigen Meldung auf das erforderliche Format der Eingabe-URL. Optionale Komponenten sind in eckigen Klammern angegeben. Beachten Sie jedoch, dass der / path- Teil nicht optional zu sein scheint . Also nahm ich an, dass ich, wenn ich die Root-Domain teste , zumindest den abschließenden Schrägstrich hinzufügen sollte , was wirklich den Trick getan hat! Ich hoffe das hilft dir auch.
quelle
Ein paar Dinge zum Testen:
Wenn keine dieser Arbeiten möglich ist, können Sie ein Terminal und öffnen
dann starte die apache bench und poste die ausgabe des opensnoop terminals in der frage. Wenn nichts davon funktioniert, können Sie versuchen, Macports zu installieren und dann Apache von dort aus zu installieren, um zu sehen, ob dies als Problemumgehung funktioniert (irgendwie lahm).
My Air ist auf lion, aber die Apache-Version ist anders (vor kurzem gab es ein Update, haben Sie das bereits installiert?). Ich konnte überprüfen, ob ab für mich funktioniert:
quelle
ab google.com/
bei mir, versuchen Sieab -n 1000 -c 1000 google.com/