Verwenden von ab zum Benchmarking von nginx: Verbindung vom Peer zurückgesetzt (54)

Verwenden von ab zum Benchmarking von nginx: Verbindung vom Peer zurückgesetzt (54)

Ich habe vor Kurzem auf nginx 1.0.8 aktualisiert und versucht, die Leistung für zwischengespeicherte dynamische Seiten (ursprünglich von einer Django-App über Proxy_Pass bereitgestellt) und für statische Seiten zu vergleichen. In beiden Fällen verarbeitet nginx nicht mehr als 3 oder 4 Anfragen (auch ohne gleichzeitige Verbindungen), sodass ab fast sofort Folgendes meldet:

apr_socket_recv: Connection reset by peer (54)

Nur wenn maximal 4 (oder weniger) Anfragen ausgewählt werden, wird ab erfolgreich abgeschlossen.

Warum ist das so? Ich habe versucht, die Anzahl der Arbeitsprozesse zu erhöhen (ohne Erfolg), aber ich gehe davon aus, dass nginx in der Lage sein sollte, mehr als 4 Anfragen zu bearbeiten, ohne eine Konfigurationsvariable zu ändern. Könnte es sein, dass ich versehentlich eine Art DOS-Schutzmechanismus ausgelöst habe?

Antwort1

Ich hatte das gleiche Problem, als ich ablokal Tests mit einer einfachen Node.JS-App durchführte. Eine Problemumgehung, die ich fand, war die Verwendung ab -reiner Option, die angibt Don't exit on socket receive errors:

Die eigentliche Ursache dieses Fehlers ist jedoch die begrenzte Anzahl offener Sockets, die Sie in Ihrer Box haben können. Wenn Sie OSx verwenden, können Sie diese Antwort verwenden, um höhere Zahlen als diese Grenzwerte festzulegen:

So erhöhen Sie die Socket-Grenzwerte unter OSX für Belastungstests

verwandte Informationen