whatisgithub

What is ds-bench?

electric-sql/ds-bench — explained in plain English

Analysis updated 2026-05-18

0RustAudience · ops devopsComplexity · 5/5

In one sentence

A benchmarking tool that runs identical workloads against different durable stream servers to compare their speed and stability.

Mindmap

mindmap
  root((ds-bench))
    What it does
      Benchmarks stream servers
      Runs on Kubernetes
      Merges results into reports
    Tech stack
      Rust
      Kubernetes
      Docker
      MinIO
    Use cases
      Compare server throughput
      Test sustained load stability
      Measure reconnect catch up speed
    Audience
      Infrastructure engineers
      DevOps teams
      Backend architects

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Compare write throughput and latency across multiple durable stream server implementations.

USE CASE 2

Evaluate how a candidate streaming server behaves under sustained load before adopting it.

USE CASE 3

Measure how quickly clients catch up after reconnecting to a stream.

USE CASE 4

Run reproducible performance benchmarks on a local kind cluster or Google Cloud GKE.

What is it built with?

RustKubernetesDockerPythonMinIO

How does it compare?

electric-sql/ds-bench0xr10t/pulsefi404-agent/codes-miner
Stars000
LanguageRustRustRust
Setup difficultyhardmoderate
Complexity5/54/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

So what is it?

This project is a benchmarking tool built to test and compare a specific kind of server called a durable stream server. A durable stream is a system that reliably stores a continuous flow of data, like a log of events, so that clients can write new entries and reliably read or replay them later, even after a crash. This tool measures how fast and how stable different server implementations of that idea are under load. Instead of testing just one server, it is designed to run the same workload fairly against several different systems, including one called durable-streams written in Rust, a Node.js reference server, a project called ursula, and one called S2. Each workload is described in a JSON configuration file that defines what the test does, such as measuring how many writes per second a server can sustain before it hits its limit, how memory and response times behave when load is held steady for a long time, or how quickly many clients can catch up on a stream after reconnecting. The tool runs on Kubernetes, either on a small local cluster using a tool called kind for quick testing, or on Google Cloud's GKE for larger, more realistic runs. It automatically sets up the cluster, deploys the server being tested, runs a fleet of client machines to generate load, collects detailed timing statistics from every client, and merges them into one clear picture of performance. When a full test run finishes, the cluster tears itself down automatically to avoid unnecessary cloud costs. This is a specialized tool for engineers who build or evaluate infrastructure software, particularly anyone deciding which streaming or event-log server to use in a production system. It is not something a typical app developer would use day to day, but it produces reports that make it easier to compare real-world tradeoffs between different backend technologies.

Copy-paste prompts

Prompt 1
Help me set up ds-bench locally with kind to run the write-throughput-local suite.
Prompt 2
Explain what the sustained load benchmark in ds-bench measures and how to interpret its output.
Prompt 3
Walk me through adding a new durable stream server implementation to ds-bench.
Prompt 4
Show me how to run ds-bench against Google Cloud GKE and what environment variables control the cluster setup.

Frequently asked questions

What is ds-bench?

A benchmarking tool that runs identical workloads against different durable stream servers to compare their speed and stability.

What language is ds-bench written in?

Mainly Rust. The stack also includes Rust, Kubernetes, Docker.

Who is ds-bench for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.