web-dev-qa-db-de.com

webserver Lasttest-Tool

Können Sie ein Softwaretool (mit GPLv-Lizenz) vorschlagen, um Lasttests für einen Webserver durchzuführen?

18
rak

Mit Curl können Sie ganz einfach eine URL-Sequenz durchlaufen. d.h. 

curl -s "http://google.com?[1-1000]"

Dadurch werden 1000 Anrufe an Google getätigt, d. H.

http://google.com?1  
http://google.com?2
etc... 

Sie können diese Aufrufe dann zu einem Skript hinzufügen und nacheinander als Hintergrundjobs ausführen. Es gibt eine vollständige Erklärung dazu http://servermonitoringhq.com/blog/how_to_quickly_stress_test_a_web_server

22
Ian Purton
  1. Tsung ist das Beste, was ich bisher benutzt habe. Sie können ein aktuelles Nutzungsmuster erstellen.

  2. Apache Benchmark ist am einfachsten zu verwenden und wird zusammen mit Apache geliefert. Einfacher zu verwenden, aber nicht flexibel in Bezug auf URLs zum Testen und Erstellen realistischer Lastmuster 

11
Zimbabao
8
Konrad Garus

Wenn Sie einige Leistungs-/Auslastungstests auch für Webseiten/Apps durchführen müssen, versuchen Sie es mit Apache JMeter http://jmeter.Apache.org/

6
Harri

Wenn Sie über die Produktionsauslastung verfügen, können Sie tcpcopy verwenden, um sie in das Testsystem zu kopieren. Diese Art von Tests ist effektiver und realer.

2
wangbin579

Sie können versuchen, wbox zu starten, indem Sie apt-get install wbox ausführen. 

Blättern Sie dann bei hping.org/wbox/ nach unten, um Beispiele anzuzeigen.

umfassende Liste unter Speed ​​Tools

2
Angel Genchev

Ich würde vorschlagen, "headless" PhantomJS (was mit Selenium WebDriver zusammenhängt) oder den Selenium HTMLUnitDriver zu verwenden. Packen Sie die Belastungstests in eine JUnit-Klasse ein. Verwenden Sie Maven Surefire oder Gradle (mit einer Filtertestaufgabe, die maxParallelForks verwendet) die Multithread-Tests. Gradle oder Maven erstellen einen JUnit-Bericht (aus einer CSS-Umwandlung), der jeden Test und die Zeit zeigt, die er benötigt hat.

Wenn Sie Windows verwenden, können Sie meine .bat scripts verwenden, um einen Grid Node und einen Hub zu starten, um parallel ausgeführt zu werden, und verwenden Sie mehrere Computer, um die Last bereitzustellen.

2
djangofan

Weitere Informationen zu den Funktionsskripten von Selenium WebDriver in einer Headless-Browser-Umgebung, in der Sie mehrere Instanzen ausführen können. Dieser Ansatz wurde mit der Verfügbarkeit von VMs aus der Cloud immer beliebter.

0
Ian Fleming