TL;DR
- Benchmarked Postgres managed by ClickHouse against AWS RDS (16k provisioned IOPS) and Aurora IO Optimized using standard
pgbenchtests - Performance: ClickHouse’s NVMe-backed Postgres delivers 4.3-9x faster performance for IO-intensive workloads and 12% faster for CPU-bound scenarios
- Ideal for fast-growing AI-driven workloads that demand high transaction rates, low-latency data access, and predictable performance without IO bottlenecks
Benchmark overview
We conducted comprehensive performance testing usingpgbench, the standard PostgreSQL benchmarking tool, to evaluate workload performance under both moderate and high-concurrency scenarios.
Benchmarks
All performance tests were conducted using a client VM with the same compute capacity, collocated in the same region and availability zone as the PostgreSQL database to ensure fair comparison.Test 1: IO Intensive - Read+Write (500 GB dataset)
Performance improvement over RDS (16k IOPS):- 326% higher TPS (4.3x faster)
- 345% higher TPS (4.5x faster)
Setup
This test evaluates mixed read/write performance with a large 500 GB dataset, stressing both read and write paths of the storage subsystem. Instance configuration:| Configuration | Postgres managed by ClickHouse | RDS with 16k IOPS | Aurora IO Optimized |
|---|---|---|---|
| PG Version | 17 | 17 | 17 |
| vCPUs | 16 | 16 | 16 |
| RAM | 64 GB | 64 GB | 128 GB |
| Disk Size | 1 TB | 1 TB | 1 TB |
| Disk Type | NVMe (unlimited IOPS) | Network-attached (16,000 IOPS) | Network-attached (IO Optimized) |
Test 2: IO Intensive - Read-Only (500 GB dataset)
Performance improvement over RDS (16k IOPS):- 802% higher TPS (9.0x faster)
Setup
This test evaluates read performance with a large 500 GB dataset that doesn’t fit in memory, stressing disk I/O capabilities. Instance configuration:| Configuration | Postgres managed by ClickHouse | RDS with 16k IOPS |
|---|---|---|
| PG Version | 17 | 17 |
| vCPUs | 16 | 16 |
| RAM | 64 GB | 64 GB |
| Disk Size | 1 TB | 1 TB |
| Disk Type | NVMe (unlimited IOPS) | Network-attached (16,000 IOPS) |
Test 3: CPU Intensive (data fits in memory)
Performance improvement:- 12.3% higher TPS than RDS PostgreSQL
Setup
This test evaluates CPU performance when the working set fits entirely in memory, minimizing disk I/O impact. Instance configuration:| Configuration | Postgres managed by ClickHouse | RDS PostgreSQL |
|---|---|---|
| PG Version | 17 | 17 |
| vCPUs | 2 | 2 |
| RAM | 8 GB | 8 GB |
| Disk Type | NVMe | Network-attached (gp3) |
Performance summary
Key findings
Across all three benchmark scenarios, Postgres managed by ClickHouse consistently delivered superior performance:- IO-intensive read+write workloads: 4.3-4.5x higher TPS compared to RDS (16k IOPS) and Aurora IO Optimized
- IO-intensive read workloads: 9x higher TPS compared to RDS with 16k IOPS
- CPU-bound workloads: 12% higher TPS than RDS
When Postgres by ClickHouse excels
Postgres by ClickHouse is ideal for applications that:- Power fast-growing AI-driven workloads requiring high-throughput data ingestion with frequent upserts, real-time feature updates, and analytics out of the box through seamless integration with ClickHouse for OLAP workloads
- Perform frequent writes, updates, or mixed read/write operations
- Need predictable, high-performance storage
- Are currently constrained by IOPS limits on traditional managed Postgres services
NVMe architecture advantage
The performance advantage comes from the fundamental architectural difference:| Aspect | NVMe Storage (Managed Postgres) | Network-Attached Storage (Provisioned IOPS) |
|---|---|---|
| IOPS | 100k to virtually unlimited | 16,000 provisioned |
| Network hops | Zero (local device) | Every disk operation requires network round trip |
| Performance scaling | Scales linearly with concurrency | Limited by provisioned IOPS |
Cost-effectiveness
Beyond raw performance, Postgres managed by ClickHouse offers superior price-performance:- Higher throughput per dollar: Achieve 4-9x more TPS compared to RDS with 16k provisioned IOPS and Aurora IO Optimized
- Predictable costs: No need to provision additional IOPS capacity—unlimited local IOPS included
- Lower compute requirements: Achieve target performance with smaller instance sizes due to efficient I/O
- Reduced need for read replicas: Higher single-instance throughput reduces need for horizontal scaling