Können Sie ein Softwaretool (mit GPLv-Lizenz) vorschlagen, um Lasttests für einen Webserver durchzuführen?
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
Tsung ist das Beste, was ich bisher benutzt habe. Sie können ein aktuelles Nutzungsmuster erstellen.
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
Versuchen Sie eine von:
Wenn Sie einige Leistungs-/Auslastungstests auch für Webseiten/Apps durchführen müssen, versuchen Sie es mit Apache JMeter http://jmeter.Apache.org/
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.
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
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.
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.