Lasttests und Benchmarking Mit siege vs wrk
Ich habe etwa auf der Suche nach tools, die mir helfen kann zu tun, load testing und benchmarking. Ich fand Paare wie: https://github.com/wg/wrk , http://www.joedog.org/siege-home/ , https://github.com/rakyll/boom . Ich Frage mich, ob jemand keine Erfahrung mit diesen tools und feedback Vorteile vs Nachteile dieser tools. Meine Belastung beinhaltet verschiedene Testfälle mit DELETE, PUT, GET, POST,... Header
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich verwendet habe, wrk und der Belagerung, die Belagerung ist ein wirklich einfach zu bedienendes tool, aber ich bin mir nicht sicher, ob können Sie testen, LÖSCHEN oder SETZEN Sie mit der Belagerung.
Wrk verwenden können, zur Verfügung gestellt lua-Skript zum generieren von Anfragen, also LÖSCHEN und SETZEN Sie nicht ein problem sein. UND wrk ist ein Werkzeug, das überwältigen der NGINX-static-file-server, so dass ich denke, es ist schnell genug für Allgemeine Tests.
Habe ich noch nie genutzt-boom oder Yandex.tank-vorgeschlagen von @Direvius, im Grunde, weil wrk ist einfach genug, und passen Sie unseren Bedürfnissen entspricht. Aber JMeter ist zu Komplex für mich.
Lasttests und benchmarking-tools
In alphabetischer Reihenfolge aufgelistet.
ab: langsame und single-threaded, geschrieben in C
apib: die meisten Funktionen von ApacheBench (ab), ebenfalls als ein moderner Ersatz, geschrieben in C
baloo: expressive end-to-end-HTTP-API-Test leicht gemacht, geschrieben in Go (golang)
baton: HTTP-load-Tests, geschrieben in Go (golang)
bombardier: schnelle crossplattform-HTTP-benchmarking-tool, geschrieben in Go (golang)
curl-loader: Leistung laden von verschiedenen Anwendungs-Dienstleistungen und traffic-generation, geschrieben in C
bohren: HTTP load testing-Anwendung inspiriert von Ansible syntax, geschrieben in Rust
fasthttploader: benchmark (irgendwie ab) mit autoadjustment und Diagrammen basierend auf fasthttp Bibliothek, schreiben in Go (golang)
fortio: load testing-Bibliothek und Kommandozeilen-tool und web-UI. Ermöglicht das festlegen von query pro Sekunde laden und aufnehmen Latenz-Histogramme und andere nützliche stats, schreiben in Go (golang)
gatling: high performance load-Test-framework basieren, auf Scala, Akka und Netty, schreiben Sie in Scala
go-wrk: HTTP benchmarking-Tools basieren im Geiste auf die ausgezeichnete wrk-tool (wg/wrk), schreiben in Go (golang)
Stachel: AWS Lambda-powered, stark verteilten, Last-Test-tool, schreiben in Go (golang)
gobench: HTTP/HTTPS-Lasttests und benchmarking-tool, schreiben in Go (golang)
gohttpbench: ab-wie benchmark-tool laufen auf multi-core-cpu, schreiben in Go (golang)
hey: HTTP(S) load generator ApacheBench (ab) - Ersatz, ehemals bekannt als rakyll/boom, geschrieben in Go (golang)
htstress: multithreading mit hoher Belastung bechmarking Dienstleistungen (>5K rps), geschrieben in C/Linux
httperf: schwierige Konfiguration, langsame und single-threaded, geschrieben in C
inundator: einfach und mit hohem Durchsatz HTTP-Flut-Programm, geschrieben in C/Linux
jmeter: Apache JMeter™, pure Anwendung entwickelt, um load performance-test sowohl auf statischen und dynamischen Ressourcen, die in Java geschrieben
k6: moderne load-Test-tool skriptfähig in ES6 JS mit Unterstützung für HTTP/1.1, HTTP/2.0 und WebSocket, geschrieben in Go (golang)
locust: easy-to-use, distributed load-Test-tool mit Echtzeit-web-UI. Simuliert einen Schwarm von gleichzeitigen Benutzern, das Verhalten jedes einzelnen von Ihnen ist definiert durch Ihre python-code. In Python geschrieben
mgun: modern-tool für load-Tests HTTP-Server, geschrieben in Go (golang)
anspringen: evented, aber die Ergebnisse schwanken, ist es manchmal schneller als htstress, geschrieben in C
Belagerung: langsame und single-threaded, geschrieben in C
slapper: einfaches load-Test-tool mit Echtzeit aktualisiert Histogramm der Anfrage timings, geschrieben in Go (golang)
slow_cooker: Last tester fokussiert auf die lifecycle-Themen und lang laufende tests, service, mit einem vorhersehbaren Last-und concurrency-level für eine lange Zeit, geschrieben in Go (golang)
sniper: kraftvoll & high-performance http-load-tester, geschrieben in Go (golang)
tsung: Simulation von stress-Anwender zum testen der Skalierbarkeit und performance von IP-basierten client/server-Anwendungen HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP und Jabber/XMPP-Server, geschrieben in Erlang
vegeta: HTTP load-Test-tool und-Bibliothek, geschrieben in Go (golang)
weighttp: Multithread, aber langsamer als htstress ohne keepalive, geschrieben in C
wrk: Multithreading, geschrieben in C/Lua
wrk2: konstanter Durchsatz, richtige Latenz-recording-Variante von wrk, geschrieben in C/Lua
yandex-tank: Last-und performance-benchmark-tool, geschrieben in Python/C|C++|Asm (phantom)
Beschreibungen sind von hier.
Habe ich noch nie benutzt, aber ich habe gehört, einige positive Meinungen über wrk.
Ich denke, Sie sollten auch versuchen,Jmeter, die sehr beliebt ist, und vielleicht Yandex.tank, das ist das Werkzeug, das wir verwenden bei unserer LT-Abteilung ist für die meisten unserer web-Dienstleistungen.