Production-grade Speed, Laptop Proof
Benchmark at a Glance
- Dataset: 60M records (100k properties × 10 room types × 60 days)
- Data generation: 4 segments × 25k properties × 10 room types × 60 days
- Hardware: 4-core i7 laptop, 16 GB RAM
- Memory usage: ~4.1 GB for 60M records
- Load time: 3 seconds from compressed snapshot
Roomzin Read Performance
Regular search · 1000 connections · 20k requests · 1s duration
| Metric | Value |
|---|---|
| Min | 0.001 ms |
| P50 | 0.490 ms |
| P95 | 1.472 ms |
| P99 | 3.313 ms |
| P99.9 | 3.842 ms |
| Max | 4.557 ms |
| Requests per second | 20,000 |
* Benchmark run with the official roomzin-bench tool
Roomzin Spike Performance
Simultaneous burst · 100 connections · 2,000 requests · 0s ramp-up
Spike: All 2,000 requests are sent at exactly the same time with no delay
between them.
This simulates a sudden traffic surge where all requests arrive simultaneously.
| Metric | Value |
|---|---|
| Min | 1.692 ms |
| P50 | 23.970 ms |
| P95 | 46.021 ms |
| P99 | 47.874 ms |
| P99.9 | 48.077 ms |
| Max | 48.087 ms |
| Requests | 2,000 |
| Concurrent connections | 100 |
RzProxy Read Performance
HTTP proxy · 200 connections · 2s duration
| Metric | Value |
|---|---|
| Min | 0.20 ms |
| P50 | 6.23 ms |
| P95 | 11.53 ms |
| P99 | 13.81 ms |
| Mean | 6.29 ms |
| Total requests | 43,692 |
| Achieved RPS | 21,846 |
* Benchmark run with the official roomzin-bench tool
Snapshot Performance
Compact snapshots enable fast saves and reloads. Compressed snapshots are ~92 MB for 60M records.
| Records | Load Time | Raw CSV Size | Snapshot (compressed) | Memory Usage |
|---|---|---|---|---|
| 60M records | 3,041 ms | 5.3 GB | 92 MB | ~4.1 GB |
The in-memory footprint is 4.1 GB, which is ~77% of the raw CSV data size (5.3 GB)
In Production
- Multiple read replicas (follower nodes) provide better results
- RzProxy independent scaling provides higher TPS for HTTP clients
- More cores provide better parallelism. Segments are processed in parallel.
Benchmark tool: github.com/m-javani/roomzin-bench — reproduce these results or test your own setup.
Get started with benchmarking →