Skip to main content

How Stroppy Cloud works

You describe a database and a workload and press Launch. Stroppy Cloud brings up machines in your cloud, installs and tunes the database, drives the load and takes the machines down again. A 10-minute TPC-C run on one PostgreSQL machine takes about 19 minutes from launch to report. This page follows one.

Typical times for a 10-minute TPC-C run on one PostgreSQL machine. Pick a stage to jump to it.

Before launch

What you describe

A database, a workload and machine sizes make a test. Describe each part once and reuse it; launch the test on its own, as a suite of variants or on a schedule. Hover a block for an example.

Overview

On the left is what you describe once and reuse across tests: databases and workloads. In the middle sit the test and the three ways to launch it, and on the right the report a run leaves behind. Hover a block for an example and details.

Tenant: your team’s space; everything else lives in it
0:00Stand

Machines come up in your cloud

Stroppy Cloud creates the network and machines in your cloud with your key, and an agent starts on each machine. The diagram shows where every part runs while the benchmark is on: Stroppy Cloud, Graphene and your cloud. Pick a step to follow a run through it.

Overview

Three zones: the Stroppy Cloud product (the console in your browser and the server), Graphene, which runs the pipelines, and your cloud with the stand. Each zone lists its dependencies underneath; hover a block to see what it depends on.

Stroppy Cloud
Dependencies
Graphene: runs the pipelines
Dependencies
Your cloud: the stand
Dependencies
3:00Deploy

The database is tuned for its machine

The agents start the DBMS in containers, tuned for its machines; the cluster forms, and the stand passes its checks before any load.

  • Every engine it deploys: PostgreSQL, OrioleDB, MySQL, MariaDB, CockroachDB, YDB and Picodata. On by default.
  • Tuned for the CPUs, memory and disk, the node’s role, the topology and the load.
  • A key you set yourself wins, key by key.
  • The values a run used are in its report.
  • Set the database to stock to measure the engine’s own defaults.
PostgreSQL 17 on 16 vCPU, 64 GB memory and a 400 GB network SSD
SettingStockloweredraised, log scaleTuned
shared_buffers128 MB×12816 GB
effective_cache_size4 GB×1248 GB
max_wal_size1 GB×18.618.6 GB
maintenance_work_mem64 MB×322 GB
max_parallel_workers8×216
effective_io_concurrency1×200200
random_page_cost4÷3.61.1
checkpoint_timeout5 min×315 min
5:00Load

The load runs while you watch

The stroppy runner drives the workload segment by segment: data load, warmup, then the load itself. You watch QPS, latency and logs in the console as it goes.

The longest stage: about 12 of the run’s 19 minutes. Keep scrolling and the clock runs through it.

17:00Collect

A report to compare and pass on

Metrics from the load window go into the report. Then the report is yours to read, line up against others and send on.

18:00Teardown

The machines go, the report stays

The machines are removed unless you asked to keep the stand. The report stays.

19:00And again

One run answers one question

A suite asks several at once, and a schedule keeps asking. Both launch ordinary runs, each with its own report.

Suites

Run variants of a test in one launch: database versions, machine sizes, settings. The results land in one table.

Schedules

Launch a test or a suite on cron. Each launch adds a point to the history chart, so a slower version or setting shows up before your users notice it.

0 3 * * *
From your pipeline

Launch from CI, hear back by webhook

Everything the console does goes through a public REST API with an OpenAPI contract. A personal token launches a test from your pipeline; webhooks report each step of the run as it happens.

POST https://cloud.stroppy.io/api/v1/t/{tenant}/tests/{id}:launch
Authorization: Bearer <token>
  1. run.started
  2. run.stage
  3. run.finished
If a run stops early
run.failed run.cancelled
For a suite
suite.started suite.cell_finished suite.finished