Az NBomber egy nyílt forráskódú .NET keretrendszer, a nyílt forráskódú protokoll Apache 2.0, az NBomber pedig különféle szolgáltatások terhelési tesztelésére szolgál, beleértve a webet, üzenetsorokat, adatbázisokat stb. Az NBomber 2.0-s verziója idén májusban jelent meg. Az NBomber hasonló a JMeterhez, de a különbség a JMeterhez képest, hogy az NBomber a teszthelyzeteket F#/C#/JSON kódon keresztül fejezi ki.
Az NBomber fő oka, hogy könnyű keretrendszert biztosítson a terhelési tesztek írásához, amellyel bármely rendszert tesztelhetsz és bármilyen gyártási terhelést szimulálhatsz. Csak szeretnénk egy kis absztrakciót biztosítani, hogy bármilyen típusú hasznos terhelést le tudjunk írni, és mégis legyen egy egyszerű, intuitív API. Egy másik cél, hogy építőblokkokat biztosítsunk a POC (proof of concept) projektedhez bármilyen összetett terheléselosztás alkalmazásával. Az NBomberrel bármilyen PULL vagy PUSH rendszert tesztelhetsz (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis stb.). Az NBomberrel könnyen átalakíthatsz néhány integrációs tesztet terhelési tesztekké.
Az NBomber modern keretrendszerként a következőket nyújtja:
- Zéró függőségi protokollok (HTTP/WebSockets/AMQP/SQL)
- Nulla függőség a szemantikai modellektől (Pull/Push)
- Nagyon rugalmas konfiguráció és nagyon egyszerű API (F#/C#/JSON)
- Klasztertámogatás
- Valós idejű tudósítás
- CI/CD integráció
- Adatfolyam támogatás
GitHub cím:A hiperlink bejelentkezés látható. Dokumentum címe:A hiperlink bejelentkezés látható.
Először hozz létre egy új .NET Core 3.1 konzolprojektet, és használd a nuget-et a következő csomag telepítésére:
Ahhoz, hogy a lehető legjobb teljesítményt kapd az NBomberből, a projektbeállításaidat a következő konfigurációval kell módosítani:
Szemétgyűjtő beállítások A GarbageCollectionnek szerver- és egyidejű módra kell váltania:
Teljes projekt beállítás:
Teszteld a GET kérés küldését erre az oldalra, és állíts be egy egyedi kérés fejlécet a következő kóddal:
A program automatikusan generál tesztjelentést a bin\Debug\netcoreapp3.1\reports\ könyvtárban, ahogy az alábbi ábrán látható:
(Vége)
|