Skip to content
LoadStrike
Portal

Search LoadStrike

GOOD PLACES TO START

LoadStrike

Benchmark methodology

Read the LoadStrike benchmark methodology and evidence checklist for workloads, topologies, artifacts, and report interpretation.

Methodology

Read the LoadStrike benchmark methodology and evidence checklist for workloads, topologies, artifacts, and report interpretation.

Benchmark methodology illustration
Explain how LoadStrike benchmark evidence should be read and what artifacts should accompany performance claims.

What to verify before trusting a benchmark result

This page explains what a trustworthy LoadStrike benchmark page should show: workload shape, system topology, runtime surface, cluster layout, and downloadable artifacts. The dated owned experiment below includes measured results and downloadable evidence.

Use it as a reading guide whenever benchmark evidence is presented. If the workload, topology, and artifacts are not visible, the result is not complete enough to rely on.

A capacity result must distinguish offered load from achieved load and remain tied to the recorded generator hardware, runtime, topology, and workload. A generator warning means the requested schedule was not fully delivered; it must not be hidden inside application failure statistics.

Who this is for

Teams evaluating LoadStrike performance evidence and wanting a concrete checklist for workload shape, topology, and artifacts before they trust the number.

Why endpoint-only testing breaks down here

Benchmark content becomes misleading when it jumps straight to headline numbers without describing the transaction shape, cluster topology, downstream services, report artifacts, or the difference between runtime output and exported observability data.

How LoadStrike fits

LoadStrike already exposes report formats, cluster modes, transports, browser runtimes, and sink outputs publicly. This methodology page ties those verified building blocks into one reader-facing checklist before any benchmark claim is treated as trustworthy.

Verified LoadStrike fit points

  • Explains which workload, topology, and artifact details should be visible alongside any result.
  • Keeps benchmark communication tied to real downloadable artifacts instead of headline-only claims.
  • Shows how runtime topology, scenario shape, and report artifacts should be documented together.
  • Gives evaluators a clear checklist before they trust a benchmark page.
  • Rejects unsupported 300,000 RPS claims unless every measured repetition and its environment evidence are retained.
Future dataset contract

Fields required before a benchmark result should be published

  • datasetKey
  • title
  • summary
  • workloadDefinition
  • systemShape
  • scenarioShape
  • loadShape
  • runtimeSurface
  • clusterTopology
  • reportArtifacts
  • downloadArtifacts
  • datePublished
  • dateModified
  • publishState

Future downloadable artifact types: csv, json, html, markdown.

Owned measured evidence

RabbitMQ load testing: an owned HTTP-to-completion experiment

Measured 2026-10-03 by LoadStrike (Meticulis). Presentation assisted by AI.

An owned engineering workload matched all 28,800 measured attempts across 18 repetitions, with zero SDK failures and zero distinct measured timeout IDs. Results use native HTTP plus a public DelegateStream completion observer; they are specific to this workload and shared machine.

Workload: each POST carries a unique correlation ID and 1,024-byte UTF-8 payload. A worker performs 20,000 successive SHA-256 hashes, confirms outcome publication, then acknowledges the work message.

System: a native HTTP source calls an owned API that confirms work publication to real RabbitMQ before returning HTTP 202. A RabbitMQ.Client 6.8.1 asynchronous consumer supplies correlated completion observations through the public DelegateStream integration.

Scenario: one invocation produces one work item and one correlated completion outcome. One or four workers use prefetch 1 and manual acknowledgements; outcomes are reconciled against independent application and observer logs.

Load: configured Inject demand is 5, 10 or 25 invocations per second for 120 seconds, with three repetitions of each worker/rate condition. Each repetition has a 30-second sequential unpaced warm-up and a fresh fixture with reset queues.

Runtime: published LoadStrike 1.0.33401, RabbitMQ.Client 6.8.1, .NET runtime 8.0.10 / SDK 8.0.403 and RabbitMQ 3.13.7. Reproduction requires a legitimate eligible runner entitlement; no runner key is included.

Topology: a shared Windows host with 12 logical processors and approximately 31.8 GiB RAM, with Docker Desktop exposing 12 CPUs and approximately 15.5 GiB RAM. Existing services, browser checks and research also used this host. This experiment does not measure a distributed LoadStrike cluster.

This owned engineering experiment uses the normal licensed published LoadStrike SDK with native HTTP and a public DelegateStream observer backed by RabbitMQ.Client. The native RabbitMQ destination smoke accepted and processed ten outcomes but observed no destination delivery: all ten SDK attempts timed out. That failed smoke is retained separately. The measured matrix below uses the delegate integration and does not validate the native RabbitMQ destination adapter.

Observed completion latency spans the SDK HTTP source timestamp to the observer-supplied completion timestamp. It differs from time to HTTP 202, worker-local processing, broker latency and browser Web Vitals. p95 is a nearest-rank percentile over matched load-phase samples; timeout IDs are reported separately and may be a subset of failures.

The load cohort is inferred from the chronological suffix of unique source IDs sized to the SDK load-phase request count, then reconciled with independent accepted, processed and observed outcomes. Raw rows have no per-ID phase marker. Sequential warm-up finishes before injection. Earlier native and fixture failures are retained separately from the corrected fresh matrix.

This shared Windows machine with Docker Desktop is not an isolated rig. The table is ordered numerically by worker count, offered rate and repeat. Actual execution order is deterministic and recorded in the full report, along with resource sampling and other activity limits. Configured offered rate is demand, not achieved maximum capacity, and these results do not establish competitor superiority or a customer outcome.

All 18 measured repetitions. p95 covers matched observed completions only.
Offered rate (invocations/s)WorkersRepeatMatched / attemptedFailuresTimed-out IDsp95 observed completion (ms)
5 1 Repeat 1 600 / 600 0 0 234.268
5 1 Repeat 2 600 / 600 0 0 121.914
5 1 Repeat 3 600 / 600 0 0 91.424
10 1 Repeat 1 1200 / 1200 0 0 155.744
10 1 Repeat 2 1200 / 1200 0 0 185.897
10 1 Repeat 3 1200 / 1200 0 0 137.642
25 1 Repeat 1 3000 / 3000 0 0 341.459
25 1 Repeat 2 3000 / 3000 0 0 414.498
25 1 Repeat 3 3000 / 3000 0 0 343.325
5 4 Repeat 1 600 / 600 0 0 41.583
5 4 Repeat 2 600 / 600 0 0 41.520
5 4 Repeat 3 600 / 600 0 0 46.358
10 4 Repeat 1 1200 / 1200 0 0 93.646
10 4 Repeat 2 1200 / 1200 0 0 64.215
10 4 Repeat 3 1200 / 1200 0 0 60.693
25 4 Repeat 1 3000 / 3000 0 0 140.559
25 4 Repeat 2 3000 / 3000 0 0 131.957
25 4 Repeat 3 3000 / 3000 0 0 133.541

Reproduce and inspect the evidence

The runnable project requires a legitimate eligible runner entitlement. Downloads contain no runner key or license bypass. The full report and sanitized evidence retain warnings, queue snapshots, failures, phase inference and the separate diagnostic attempts.

Benchmark inputs that should be visible

These are the public LoadStrike surfaces that a trustworthy benchmark explanation should reference directly.

Cluster overview

See how coordinator and agent execution is documented publicly.

Playwright docs

Include browser runtime details when the benchmark uses browser journeys.

Capacity evidence checklist

A capacity result is useful only when another team can see what the generator offered, what it achieved, and why any scheduled work was not delivered.

Load simulation controls

Review smooth pacing, the process-wide in-flight ceiling, and warning-only generator saturation.

Result artifacts

Retain the run configuration, scheduler evidence, and generated reports with the benchmark output.

Browser workload sizing

Treat browser journeys as resource-heavy workloads instead of equating them with API requests per second.

Common questions

Common questions

Does this page publish benchmark results?

Yes. One owned HTTP-to-RabbitMQ completion experiment is shown below with every measured repetition and downloadable artifacts. Its delegate integration, inferred load cohort and shared-machine limitations are explicit; these results do not establish maximum capacity.

What should a benchmark page include?

At minimum it should include workload definition, system shape, scenario shape, load shape, runtime surface, cluster topology, report artifacts, download artifacts, and publication dates.

Why does the methodology page matter?

It prevents thin or misleading benchmark content by setting a clear standard for what evidence must be visible before a benchmark claim is treated as trustworthy.

Can a local result prove 300,000 RPS everywhere?

No. Capacity is specific to the recorded hardware, runtime, topology, and workload. A target is certified only when every required repetition delivers it without generator drops and the artifacts remain available.

What authorization is required for a capacity run?

Run high-rate tests only against systems you own or have explicit permission to test. Start with a small smoke rate and coordinate limits with the target owner before increasing load.

Related

Related documentation

Start with the implementation details that match this page.

Report Overview

This page explains how to read a LoadStrike report. Use it when you want to know what each section means and where to look first.

Cluster Overview

Cluster mode lets one LoadStrike run spread across multiple nodes. Use it when a single machine is not enough or when topology matters.

Quick Start

Build one basic request-step scenario around GET /orders/{id}, run it, and confirm the report before moving into correlation-specific features.

Related

Related comparisons

Use these comparison pages if you still need a tool-level decision.

LoadStrike vs k6

Compare LoadStrike and k6 for APIs, Kafka, browser tests and async completion, including correlation requirements, extensions and hosting tradeoffs.

LoadStrike vs Gatling

Compare LoadStrike and Gatling by supported languages, protocol scenarios, deployment requirements and correlated completion reports.

Related

Related integrations

Connect the run output to the observability backend your team already uses.

LoadStrike and InfluxDB

See how the LoadStrike InfluxDB sink fits into transaction-aware reporting workflows and public Grafana starter assets.

Next steps

Examples

See the published examples that benchmark-style workloads can build on.

Editorial policy

Read the publication standards behind benchmark and comparison content.

Next step

Next step

Use this page as the checklist for reading benchmark evidence, then move into the reports and cluster docs that explain the artifacts behind the numbers.