About PgBench Benchmarking Site
This site automatically runs PostgreSQL performance benchmarks across multiple PostgreSQL versions (12-17) using pgbench, PostgreSQL’s built-in benchmarking tool. Check here to see pgbench code.
How Our Benchmarks Work
Testing Environment
- All benchmarks run on GitHub Actions runners
- Ubuntu Latest environment
- Standardized hardware specifications for consistent comparisons
- Clean installation of PostgreSQL for each version
Benchmark Configuration
- Client connections: 16 (
-c 16
) - Worker threads: 4 (
-j 4
) - Test duration: 60 seconds (
-T 60
) - Progress reporting every 5 seconds (
-P 5
) - Default pgbench schema initialization
- Default TPC-B-like transaction script
- Client connections: 16 (
Versions Tested
How Results Are Shared
Automated Process
- Benchmarks run automatically on code changes
- Results are captured in Markdown format
- Each PostgreSQL version has its own results page
Result Information Includes
- System specifications (CPU, Memory)
- Benchmark timestamp
- Detailed performance metrics:
- Transactions per second (TPS)
- Latency statistics
- Standard deviation
Version Comparison
- Results are organized by PostgreSQL version
- Easy comparison across versions
- Historical data maintained through Git history
Understanding the Results
The benchmark results show:
- TPS (Transactions Per Second): Higher is better
- Latency: Lower is better
- Standard Deviation: Indicates consistency of results
Repository Structure
Our benchmarks are maintained in a public GitHub repository:
- Benchmark scripts in
.github/workflows/
- Results in
hugosite/content/
- Website source in
hugosite/
Contributing
You can contribute to this project by:
- Suggesting benchmark improvements
- Adding new PostgreSQL versions
- Improving result visualization
- Reporting issues or anomalies
Visit our GitHub repository for more information.