NBomber är ett öppen källkodsramverk för .NET, det öppna källkodsprotokollet är Apache 2.0, NBomber används för att lasta en rad olika tjänster, inklusive webb, meddelandeköer, databaser med mera. NBomber version 2.0 släpptes i maj i år. NBomber liknar JMeter, men skillnaden från JMeter är att NBomber uttrycker testscenarier genom F#/C#/JSON-kod.
Huvudanledningen till NBomber är att erbjuda ett lättviktigt ramverk för att skriva lasttester som du kan använda för att testa vilket system som helst och simulera vilken produktionsbelastning som helst. Vi vill bara erbjuda lite abstraktion så att vi kan beskriva vilken typ av nyttolast som helst och ändå ha ett enkelt, intuitivt API. Ett annat mål är att tillhandahålla byggstenar för att validera ditt POC (proof of concept)-projekt genom att tillämpa vilken komplex lastfördelning som helst. Med NBomber kan du testa vilket PULL- eller PUSH-system som helst (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis, etc.). Med NBomber kan du enkelt konvertera vissa integrationstester till belastningstester.
NBomber som ett modernt ramverk tillhandahåller:
- Nollberoendeprotokoll (HTTP/WebSockets/AMQP/SQL)
- Noll beroende av semantiska modeller (Pull/Push)
- Mycket flexibel konfiguration och mycket enkelt API (F#/C#/JSON)
- Klusterstöd
- Rapportering i realtid
- CI/CD-integration
- Stöd för dataflöde
GitHub-adress:Inloggningen med hyperlänken är synlig. Dokumentadress:Inloggningen med hyperlänken är synlig.
Skapa först ett nytt .NET Core 3.1-konsolprojekt och använd nuget för att installera följande paket:
För att få ut mest prestanda från NBomber bör du redigera dina projektinställningar med följande konfiguration:
Inställningar för sophämtning GarbageCollection bör byta till server- och samtidighetsläge:
Fullständig projektuppställning:
Testa att skicka en GET-förfrågan till denna sida och sätt en anpassad request-header med följande kod:
Programmet kommer automatiskt att generera en testrapport under katalogen bin\Debug\netcoreapp3.1\reports\, som visas i figuren nedan:
(Slut)
|