NBomber is een open-source .NET-framework, het open-source protocol is Apache 2.0, NBomber wordt gebruikt om verschillende diensten te loaden, waaronder web, berichtwachtrijen, databases, enzovoort. NBomber versie 2.0 werd in mei van dit jaar uitgebracht. NBomber lijkt op JMeter, maar het verschil met JMeter is dat NBomber testscenario's uitdrukt via F#/C#/JSON-code.
De belangrijkste reden achter NBomber is om een lichtgewicht framework te bieden voor het schrijven van load tests waarmee je elk systeem kunt testen en elke productieworkload kunt simuleren. We willen alleen wat abstractie bieden zodat we elk type payload kunnen beschrijven en toch een eenvoudige, intuïtieve API kunnen hebben. Een ander doel is het leveren van bouwstenen om je POC (proof of concept) project te valideren door elke complexe belastingsverdeling toe te passen. Met NBomber kun je elk PULL- of PUSH-systeem testen (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis, enz.). Met NBomber kun je eenvoudig sommige integratietests omzetten in load tests.
NBomber biedt als modern raamwerk:
- Zero-dependency protocollen (HTTP/WebSockets/AMQP/SQL)
- Nul afhankelijkheid van semantische modellen (Pull/Push)
- Zeer flexibele configuratie en heel eenvoudige API (F#/C#/JSON)
- Clusterondersteuning
- Realtime rapportage
- CI/CD-integratie
- Ondersteuning voor datafeeds
GitHub-adres:De hyperlink-login is zichtbaar. Documentadres:De hyperlink-login is zichtbaar.
Maak eerst een nieuw .NET Core 3.1 consoleproject aan en gebruik nuget om het volgende pakket te installeren:
Om de meeste prestaties uit NBomber te halen, moet je je projectinstellingen aanpassen met de volgende configuratie:
Instellingen voor afvalverzameling GarbageCollection zou moeten schakelen naar server- en gelijktijdigheidsmodus:
Volledige projectopzet:
Test het versturen van een GET-verzoek naar deze site en stel een aangepaste request-header in met de volgende code:
Het programma genereert automatisch een testrapport onder de bin\Debug\netcoreapp3.1\reports\directory, zoals weergegeven in de onderstaande figuur:
(Einde)
|