NBomber ist ein Open-Source-.NET-Framework, das Open-Source-Protokoll ist Apache 2.0, NBomber wird verwendet, um verschiedene Dienste zu testen, darunter Web, Nachrichtenwarteschlangen, Datenbanken usw. NBomber Version 2.0 wurde im Mai dieses Jahres veröffentlicht. NBomber ähnelt JMeter, aber der Unterschied zu JMeter besteht darin, dass NBomber Testszenarien durch F#/C#/JSON-Code ausdrückt.
Der Hauptgrund für NBomber ist es, ein leichtes Framework für das Schreiben von Lasttests bereitzustellen, mit dem man jedes System testen und jede Produktionslast simulieren kann. Wir möchten einfach eine gewisse Abstraktion bereitstellen, damit wir jede Art von Payload beschreiben können und trotzdem eine einfache, intuitive API haben. Ein weiteres Ziel ist es, Bausteine bereitzustellen, um dein POC-Projekt (Proof of Concept) zu validieren, indem du jede komplexe Lastverteilung anwendest. Mit NBomber kannst du jedes PULL- oder PUSH-System testen (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis usw.). Mit NBomber kannst du einige Integrationstests ganz einfach in Lasttests umwandeln.
NBomber bietet als modernes Rahmenwerk:
- Null-Abhängigkeitsprotokolle (HTTP/WebSockets/AMQP/SQL)
- Keine Abhängigkeit von semantischen Modellen (Pull/Push)
- Sehr flexible Konfiguration und sehr einfache API (F#/C#/JSON)
- Cluster-Unterstützung
- Echtzeitberichterstattung
- CI/CD-Integration
- Datenfeed-Unterstützung
GitHub-Adresse:Der Hyperlink-Login ist sichtbar. Dokumentadresse:Der Hyperlink-Login ist sichtbar.
Zuerst erstelle ein neues .NET Core 3.1-Konsolenprojekt und nutze nuget, um das folgende Paket zu installieren:
Um die maximale Leistung aus NBomber zu erzielen, solltest du deine Projekteinstellungen mit folgender Konfiguration bearbeiten:
Garbage Collection-Einstellungen GarbageCollection sollte in den Server- und Nebenläufigkeitsmodus wechseln:
Vollständiges Projekt-Setup:
Teste das Senden einer GET-Anfrage an diese Seite und setze einen benutzerdefinierten Request-Header mit folgendem Code:
Das Programm generiert automatisch einen Testbericht im Verzeichnis bin\Debug\netcoreapp3.1\reports\, wie in der untenstehenden Abbildung gezeigt:
(Ende)
|