Example Workloads#

Complete workload configs you can run directly or use as starting points for your own.

WorkloadDescription
AggregationDemonstrates aggregation functions (sum, avg, min, max, count, distinct)
AnomaliesRead/write anomaly patterns (lost update, stale read, write skew) for isolation level testing
BankBank account operations for contention and correctness testing
CH-benCHmarkMixed OLTP+OLAP workload combining TPC-C transactions with TPC-H-style analytical queries
BatchDemonstrates query_batch and exec_batch query types for batch inserts and updates
BlobBinary data with blob() (all databases) and bytes() (PostgreSQL/CockroachDB)
CassandraCassandra (CQL) with keyspaces, tables, batch inserts, and reference data
ConsistencyConcurrency anomaly stress test (dirty reads, phantoms, write skew, lost updates) with EDG_NO_ATOMIC_TX toggle
Composite TypesPostgreSQL/CockroachDB composite types (CREATE TYPE ... AS (...)) as column types with ROW(...)::type construction and (col).field access
DistributionsAll five distribution functions (uniform, zipf, norm_f, exp_f, lognorm_f)
Temporal PatternsData drift over time - Zipf skew interpolates from uniform to concentrated using global_iter()
E-CommerceE-commerce with categories, products, customers, and orders
Each CartesianCartesian product seeding with ref_each across multiple tables
EnvironmentDemonstrates fetching and using environment variables
FailingMap lookup with fail() to validate environment variables and stop workers on unknown values
Exclusive ColumnsMutually exclusive columns - either col_a or col_b, never both
ExpectationsPost-run assertions for CI/CD gating on error rate, latency, and throughput
ExpressionsDemonstrates expr-lang built-in features (array, map, string, bitwise, etc.)
Index ComparisonComparison test using expectations to assert indexed lookups outperform unindexed (avg and p99 latency)
Geo SpatialDating app workload with location-based discovery (ST_DWithin, GiST index), swipes, matches, and messaging
Global SequencesGlobally unique auto-incrementing sequences shared across all workers with seq_global
IncludesSplitting and reusing config fragments with the !include directive
Invoice LinesCorrelated parent-child data with distribute_sum() and distribute_weighted() for totals that always balance
IoTIoT devices, sensors, and time-series readings
LTREEHierarchical org chart using PostgreSQL’s ltree extension with ltree() path builder
LocaleLocale-aware PII generation (gen_locale) with deterministic masking (mask) across JP and DE regions
MinimalStarter workload for building familiarity with edg (create, seed, read, update, cleanup)
MongoDBMongoDB with BSON/JSON command syntax, collection operations, and reference data
Multi-Row DML__values__ token for cross-driver multi-row INSERT, UPSERT, and UPDATE (pgx, mysql, mssql, oracle, spanner)
NormalProduct reviews with normal distribution ratings
Named ArgsMap-style args with arg('name') instead of arg(0)
NullableDemonstrates nullable(expr, probability) for injecting NULLs with controlled frequency
ObjectsReusable arg templates with the objects config section, shared across seed and run queries
ObservabilityPrometheus metrics and Grafana dashboard with queries, writes, and rollback-prone transactions
Org TreeHierarchical org chart (CEO -> VPs -> Directors -> Managers -> ICs) using seed capture for self-referential generation
Outputstage command output formats (SQL, JSON, CSV, Parquet, stdout) without a database connection
PipelineMulti-table sequential reads and writes
PopulateBillion-row data population benchmark
PreparedPrepared statements for reduced parse overhead in high-throughput workloads
PrintLive aggregated stats with print expressions (frequency, min/avg/max, custom agg)
Reference DataStatic reference datasets without database queries
SaaSMulti-tenant SaaS with tenants, users, projects, and tasks
SEATSAirline reservation system benchmark with flight booking contention
SocialSocial network with users, posts, follows, and tags
StagesStaged execution with different worker counts and durations per phase
Stages Run WeightsPer-stage run_weights overrides to shift the workload mix alongside worker count
SyncDual-write consistency testing across databases (CockroachDB + MySQL) with batched verification
Sysbench InsertPure insert micro-benchmark (oltp_insert) for ingestion throughput
Sysbench Point SelectPure point-select micro-benchmark (oltp_point_select) for read latency
Sysbench Read WriteMixed read-write micro-benchmark (oltp_read_write) with scans, updates, and deletes
Sysbench Update IndexPure indexed-column update micro-benchmark (oltp_update_index)
TATPTelecom Application Transaction Processing benchmark (80% reads, 20% writes)
TPC-CFull TPC-C benchmark with all 5 transaction profiles
TransactionMulti-statement transactions with read-then-write patterns (SQL, MongoDB sessions, Cassandra logged batches)
Vectorpgvector-compatible embeddings with clustered vectors for similarity search
WorkersBackground worker queries on a fixed schedule alongside the main run loop (job queue with lease expiry)
WorkloadBuilt-in workloads (bank, ch, kv, movr, seats, sysbench-insert, sysbench-point-select, sysbench-read-write, sysbench-update-index, tatp, tpcc, tpch, ttlbench, ttllogger, ycsb) without a config file
YCSBYahoo! Cloud Serving Benchmark with a single usertable and configurable workload profiles