CheckOps home

Tools directory

N

CheckOps

NBomber

NBomber is a distributed load-testing framework for .NET: write scenarios in C# or F# for HTTP, WebSockets, AMQP, SQL or any protocol, with a free personal licence and paid business plans.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

NBomber is a distributed load-testing framework for .NET from PragmaticFlow. The README describes it as designed to test any system regardless of protocol (HTTP, WebSockets, AMQP, SQL) or semantic model (pull or push), with scenarios written in plain C# or F#.

Because scenarios are ordinary .NET code, teams can reuse their own clients, serializers and test data instead of learning a separate scripting language. Reports and real-time reporting are part of the ecosystem, and CI/CD integration is supported.

The GitHub repository shows no detected open-source licence; NBomber’s pricing page offers a free personal edition and paid business and enterprise subscriptions priced per company.

In the quality loop, NBomber covers performance and load testing for .NET services before release. Because tests are plain .NET projects, they can share code with integration tests, run from the same CI pipeline and use the same configuration and secrets handling as the rest of the test suite.

Features

  1. Code-first scenarios: Write load tests in C# or F#.
  2. Protocol agnostic: Not tied to HTTP; test WebSockets, message queues, databases and custom protocols.
  3. Push and pull models: Model both request/response and streaming systems.
  4. Load simulations: Configure injection rates and durations for ramp-up, steady and spike patterns.
  5. Reports: HTML and other report outputs plus real-time reporting.
  6. CI/CD: Run as part of a pipeline with thresholds.
  7. Distributed: Distributed load testing with native Kubernetes integration on the Enterprise plan, per the pricing page.
  8. AI agent testing: The pricing page mentions running load tests on AI agents.

Pros

  1. Natural for .NET teams: Same language and tooling as the application.
  2. Flexible: Any protocol you can call from .NET.
  3. Per-company pricing: Not per seat.
  4. Free for personal use: Full ecosystem for personal projects.
  5. Money-back guarantee: 30 days on the Business plan.

Cons

  1. Commercial licence for business: Organisational use requires a paid plan.
  2. No OSI licence: The repository has no detected open-source licence.
  3. .NET only: Teams in other stacks will prefer k6, Gatling or Locust.
  4. Distributed features gated: Kubernetes-native distribution is on Enterprise.
  5. Smaller community: Fewer examples than JMeter or k6.

Install the NuGet package and define a scenario (see the docs for current APIs):

var scenario = Scenario.Create("hello", async ctx => {
    // call your system here
    return Response.Ok();
})
.WithLoadSimulations(Simulation.Inject(rate: 100, interval: TimeSpan.FromSeconds(1), during: TimeSpan.FromMinutes(1)));

NBomberRunner.RegisterScenarios(scenario).Run();

Practical tips:

  1. Start with a single scenario against a staging environment and a low injection rate, then ramp up.
  2. Keep the system under test and the load generator on separate machines so the generator does not become the bottleneck.
  3. Use the HTML report to review latency percentiles and error rates, and fail the CI job when thresholds are exceeded.
  4. For non-HTTP systems, wrap your existing client library (message queue, database or WebSocket) inside the scenario step.

Check the current documentation for exact API names, because the framework has evolved across major versions.

Resources:

Pricing

From NBomber’s pricing page:

  1. Personal: $0, free for personal use only. The full ecosystem for personal projects and benchmarks.
  2. Business: $1,500 a year, per company not per seat, for commercial use within an organisation. 30-day money-back guarantee.
  3. Enterprise: $2,500 a year, per company. Adds distributed load testing with native Kubernetes integration.
  1. .NET teams wanting load tests in C# or F#.
  2. Systems with non-HTTP protocols such as AMQP or WebSockets.
  3. Companies preferring flat per-company pricing.
  4. Not a fit if you need a fully open-source licence for business use.

Conclusion

NBomber gives .NET teams a code-first, protocol-agnostic load-testing framework with simple per-company pricing.

Check the licence terms for business use and compare with open-source options like k6 or Gatling.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with NBomber side by side.