PragmaticFlow / Nbomber
Licence: apache-2.0
Modern and flexible load testing framework for Pull and Push scenarios, designed to test any system regardless a protocol (HTTP/WebSockets/AMQP etc) or a semantic model (Pull/Push).
Stars: ✭ 354
Programming Languages
fsharp
127 projects
Projects that are alternatives of or similar to Nbomber
f1
A tool for writing load test scenarios in Golang with a powerful command line runner
Stars: ✭ 81 (-77.12%)
Mutual labels: load-testing, performance-testing
XLT
XLT is an comprehensive load and performance test tool developed and maintained by Xceptance.
Stars: ✭ 39 (-88.98%)
Mutual labels: load-testing, performance-testing
k6-operator
An operator for running distributed k6 tests.
Stars: ✭ 170 (-51.98%)
Mutual labels: load-testing, performance-testing
chef-load
chef-load - a tool for simulating load on a Chef Infra Server and/or a Chef Automate server
Stars: ✭ 30 (-91.53%)
Mutual labels: load-testing, performance-testing
Performance-Testing-Tools
🛠 Curated list of Performance Testing Tools ⚡ All contributions are welcome 💜
Stars: ✭ 17 (-95.2%)
Mutual labels: load-testing, performance-testing
mzbench
Distributed Benchmarking
Stars: ✭ 39 (-88.98%)
Mutual labels: load-testing, performance-testing
awesome-gatling
A collection of resources covering different aspects of Gatling load-testing tool usage.
Stars: ✭ 36 (-89.83%)
Mutual labels: load-testing, performance-testing
awesome-locust
A collection of resources covering different aspects of Locust load testing tool usage.
Stars: ✭ 40 (-88.7%)
Mutual labels: load-testing, performance-testing
ddosify
High-performance load testing tool, written in Golang.
Stars: ✭ 3,788 (+970.06%)
Mutual labels: load-testing, performance-testing
k6-example-github-actions
No description or website provided.
Stars: ✭ 18 (-94.92%)
Mutual labels: load-testing, performance-testing
Pewpew
Flexible HTTP command line stress tester for websites and web services
Stars: ✭ 269 (-24.01%)
Mutual labels: performance-testing, load-testing
Locust
Scalable user load testing tool written in Python
Stars: ✭ 17,763 (+4917.8%)
Mutual labels: performance-testing, load-testing
ultron
new repository: https://github.com/wosai/ultron
Stars: ✭ 15 (-95.76%)
Mutual labels: load-testing, performance-testing
load-testing-toolkit
Collection of open-source tools for debugging, benchmarking, load and stress testing your code or services.
Stars: ✭ 65 (-81.64%)
Mutual labels: load-testing, performance-testing
jmeter-to-k6
Converts JMeter .jmx files to k6 JS code
Stars: ✭ 57 (-83.9%)
Mutual labels: load-testing, performance-testing
gatf
Generic Automated Test Framework For API/UI/RPA/Load Testing
Stars: ✭ 15 (-95.76%)
Mutual labels: load-testing, performance-testing
k6-example-data-generation
Example repository showing how to utilise k6 and faker to load test using generated data
Stars: ✭ 32 (-90.96%)
Mutual labels: load-testing, performance-testing
postman-to-k6
Converts Postman collections to k6 script code
Stars: ✭ 269 (-24.01%)
Mutual labels: load-testing, performance-testing
k6-template-es6
Template repository for bundling test projects into single test scripts runnable by k6
Stars: ✭ 39 (-88.98%)
Mutual labels: load-testing, performance-testing
k6-template-typescript
Template to use TypeScript with k6
Stars: ✭ 90 (-74.58%)
Mutual labels: load-testing, performance-testing
Very simple load testing framework for Pull and Push scenarios. It's 100% written in F# and targeting .NET Core and full .NET Framework.
How to install
To install NBomber via NuGet, run this command in NuGet package manager console:
PM> Install-Package NBomber
Documentation
Documentation is located here.
Run test scenario
View report
Analyze trends
Why we build NBomber and what you can do with it?
- The main reason behind NBomber is to provide a lightweight framework for writing load tests which you can use to test literally any system and simulate any production workload. We wanted to provide only a few abstractions so that we could describe any type of load and still have a simple, intuitive API.
- Another goal is to provide building blocks to validate your POC (proof of concept) projects by applying any complex load distribution.
- With NBomber you can test any PULL or PUSH system (HTTP, WebSockets, GraphQl, gRPC, SQL Databse, MongoDb, Redis etc).
NBomber as a modern framework provides:
- Zero dependencies on protocol (HTTP/WebSockets/AMQP/SQL)
- Zero dependencies on semantic model (Pull/Push)
- Very flexible configuration and dead simple API
- Cluster support
- Reporting sinks
- CI/CD integration
- Plugins/extensions support
- Data feed support
What makes it very simple?
NBomber is a foundation of building blocks which you can use to describe your test scenario, run it and get reports.
// FSharp example
let step = Step.create("step", fun context -> task {
// you can do any logic here: go to http, websocket etc
do! Task.Delay(seconds 1)
return Response.Ok()
})
Scenario.create "scenario" [step]
|> NBomberRunner.registerScenario
|> NBomberRunner.run
// CSharp example
var step = Step.Create("step", async context =>
{
// you can do any logic here: go to http, websocket etc
await Task.Delay(TimeSpan.FromSeconds(1));
return Response.Ok();
});
var scenario = ScenarioBuilder.CreateScenario("scenario", step);
NBomberRunner
.RegisterScenarios(scenario)
.Run();
Examples
Language | Example |
---|---|
F# | link |
C# | link |
Contributing
Would you like to help make NBomber even better? We keep a list of issues that are approachable for newcomers under the good-first-issue label.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].