2012-11-12 11 views
5

Ich habe ein http-Server-Programm läuft auf Linux-Host sagen B, die auf einen Port hört und die Anfragen verbraucht. Ich versuche, große Last (> 10k Anfragen pro Sekunde) zu diesem HTTP-Server zu generieren. Zu diesem Zweck habe ich ein HTTP-Client-Programm geschrieben, das wiederholt eine Anfrage mit fester Größe an diesen HTTP-Server von Host A aus sendet.Kann ich schwere HTTP-Last von einem Client-Rechner simulieren

Nun, was ist die Auswirkung, wenn ich mehrere Instanzen des httpclient-Programms auf Host A ausführen. Ist das genug Last? Oder gibt es eine Grenze für die Anzahl der HTTP-Clients, die ich von einem Rechner aus mit einem Server-Port sprechen kann?

Meine Beobachtung ist bisher die Anzahl der Instanzen erhöht nicht wirklich genug Last oder das http-Server-Programm/OS akzeptiert nicht. Und ich sehe die CPU/Speicher/Netzwerkverbrauch ist sehr wenig.

Irgendwelche Ideen? Wie kann ich den Engpass messen?

+0

Ich glaube nicht, dass es jede hartcodierte Begrenzung für die Anzahl der Anfragen pro Client (außer Sie aus Ports bei 65k laufen) –

Antwort

8

Probieren Sie Apache ab, um Ihren Webserver zu benchmarken. Dies generiert gleichzeitige HTTP-Anfragen sehr effizient und ist ein Defacto-Standard für diesen Zweck.

Mit ab können Sie leicht hohe Last auf eine URL erstellen und analysieren, die Ergebnisse

http://httpd.apache.org/docs/2.2/programs/ab.html

$ ab -n 1000 -c 5 

Schafft 1000 insgesamt, 5 gleichzeitige Zugriffe. gutes Tutorial, wie man mit ab arbeiten http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html

+0

Dank Michel. Das hat mir tatsächlich geholfen, die Last zu erzeugen, die ich wollte. Der http-Client, den ich mit der Dint-Waage verwendete, erzeugte nicht genug Ladung. – techuser

Verwandte Themen