pgedge-loadgen

module
v1.0.0-beta1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2026 License: PostgreSQL

README

pgEdge Load Generator

CI Release

A CLI tool for generating realistic PostgreSQL workloads. Creates schemas for fictional applications, populates them with test data, and runs load simulations with temporal usage patterns.

Features

  • 7 Applications: TPC-based (wholesale, analytics, brokerage, retail) and pgvector-based (ecommerce, knowledgebase, docmgmt)
  • 4 Usage Profiles: Simulate local office, global enterprise, and e-commerce traffic patterns
  • Realistic Patterns: Time-of-day variations, weekend differences, session simulation
  • Configurable Scale: Target specific database sizes (MB to TB)
  • Live Statistics: Real-time throughput and latency reporting

Quick Start

# Initialize database with 5GB of wholesale data
pgedge-loadgen init \
    --app wholesale \
    --size 5GB \
    --connection "postgres://user:pass@localhost:5432/mydb"

# Run load simulation with 50 connections
pgedge-loadgen run \
    --app wholesale \
    --connections 50 \
    --profile local-office \
    --connection "postgres://user:pass@localhost:5432/mydb"

Installation

Download from releases or build from source:

git clone https://github.com/pgEdge/pgedge-loadgen.git
cd pgedge-loadgen
make build

Applications

Application Based On Workload Description
wholesale TPC-C OLTP Orders, inventory, payments
analytics TPC-H OLAP Analytical queries on sales
brokerage TPC-E Mixed Stock trading simulation
retail TPC-DS Decision Support Multi-channel retail
ecommerce pgvector Semantic Search Product catalog with AI search
knowledgebase pgvector Semantic Search FAQ with article similarity
docmgmt pgvector Semantic Search Document management

Usage Profiles

Profile Description
local-office Business hours (8AM-6PM) with lunch/break dips
global 24/7 operation with rolling global peaks
store-regional Regional e-commerce with evening peak
store-global Global retail with multi-region peaks

Documentation

License

Copyright 2025 pgEdge, Inc. See LICENCE.md for details.

Directories

Path Synopsis
cmd
pgedge-loadgen command
Package main is the entry point for pgedge-loadgen.
Package main is the entry point for pgedge-loadgen.
internal
apps
Package apps defines the application interface and implementations.
Package apps defines the application interface and implementations.
apps/analytics
Package analytics implements the Analytics Warehouse application (TPC-H based).
Package analytics implements the Analytics Warehouse application (TPC-H based).
apps/brokerage
Package brokerage implements the Brokerage Firm application (TPC-E based).
Package brokerage implements the Brokerage Firm application (TPC-E based).
apps/docmgmt
Package docmgmt implements the Document Management application with semantic search.
Package docmgmt implements the Document Management application with semantic search.
apps/ecommerce
Package ecommerce implements the E-commerce application with semantic search.
Package ecommerce implements the E-commerce application with semantic search.
apps/knowledgebase
Package knowledgebase implements the Knowledge Base application with semantic search.
Package knowledgebase implements the Knowledge Base application with semantic search.
apps/retail
Package retail implements the Retail Analytics application (TPC-DS based).
Package retail implements the Retail Analytics application (TPC-DS based).
apps/wholesale
Package wholesale implements the Wholesale Supplier application (TPC-C based).
Package wholesale implements the Wholesale Supplier application (TPC-C based).
cli
Package cli implements the command-line interface for pgedge-loadgen.
Package cli implements the command-line interface for pgedge-loadgen.
config
Package config handles configuration management for pgedge-loadgen.
Package config handles configuration management for pgedge-loadgen.
datagen
Package datagen provides data generation utilities.
Package datagen provides data generation utilities.
datagen/embeddings
Package embeddings provides vector embedding generation for pgvector applications.
Package embeddings provides vector embedding generation for pgvector applications.
db
Package db provides database connection management for pgedge-loadgen.
Package db provides database connection management for pgedge-loadgen.
logging
Package logging provides structured logging for pgedge-loadgen.
Package logging provides structured logging for pgedge-loadgen.
testutil
Package testutil provides utilities for integration testing.
Package testutil provides utilities for integration testing.
workload
Package workload implements the query execution engine.
Package workload implements the query execution engine.
workload/profiles
Package profiles implements usage profiles for workload simulation.
Package profiles implements usage profiles for workload simulation.
pkg
version
Package version provides build and version information for pgedge-loadgen.
Package version provides build and version information for pgedge-loadgen.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL