Benchmark Summary
This page summarizes all benchmark results comparing Tigris with AWS S3 and Cloudflare R2 for small object workloads (1 KB objects).
Key Results
| Metric | Tigris vs AWS S3 | Tigris vs Cloudflare R2 |
|---|---|---|
| Read throughput | 4x faster | 20x faster |
| Write throughput | 4x faster | 20x faster |
| Read p90 latency | 5x lower | 86x lower |
| Write p90 latency | 2.5x lower | 41x lower |
| Bulk load time | 31% faster | 10x faster |
Load Phase Summary
Loading 10 million 1 KB objects.
| Service | P50 Latency (ms) | P90 Latency (ms) | Runtime (sec) | Throughput (ops/sec) |
|---|---|---|---|---|
Tigris | 16.799 ms | 35.871 ms | 6710.7 sec | 1490.2 ops/sec |
S3 | 25.743 ms (1.53x Tigris) | 37.791 ms (1.05x Tigris) | 8826.4 sec (1.32x Tigris) | 1133 ops/sec (0.76x Tigris) |
R2 | 197.119 ms (11.73x Tigris) | 340.223 ms (9.48x Tigris) | 72063 sec (10.74x Tigris) | 138.8 ops/sec (0.09x Tigris) |

Total load time for loading 10M 1 KB objects
Read Performance Summary
Mixed workload (80% read, 20% write) - 1 million operations.
| Service | P50 Latency (ms) | P90 Latency (ms) | Runtime (sec) | Throughput (ops/sec) |
|---|---|---|---|---|
Tigris | 5.399 ms | 7.867 ms | 241.7 sec | 3309.8 ops/sec |
S3 | 22.415 ms (4.15x Tigris) | 42.047 ms (5.34x Tigris) | 896.8 sec (3.71x Tigris) | 891.5 ops/sec (0.27x Tigris) |
R2 | 605.695 ms (112.19x Tigris) | 680.959 ms (86.56x Tigris) | 4705.3 sec (19.47x Tigris) | 42.6 ops/sec (0.01x Tigris) |
Write Performance Summary
Mixed workload (80% read, 20% write) - 1 million operations.
| Service | P50 Latency (ms) | P90 Latency (ms) | Runtime (sec) | Throughput (ops/sec) |
|---|---|---|---|---|
Tigris | 12.855 ms | 16.543 ms | 241.6 sec | 828.1 ops/sec |
S3 | 26.975 ms (2.1x Tigris) | 41.215 ms (2.49x Tigris) | 896.8 sec (3.71x Tigris) | 223.6 ops/sec (0.27x Tigris) |
R2 | 605.695 ms (47.12x Tigris) | 680.959 ms (41.16x Tigris) | 4705.3 sec (19.48x Tigris) | 42.6 ops/sec (0.05x Tigris) |
Conclusion
Tigris outperforms S3 and R2 for small object workloads. The performance advantage stems from Tigris's optimized architecture for small objects. While S3 and R2 struggle with high latency on small payloads (R2's p90 PUT latency reaches 340ms), Tigris maintains consistent low latency through intelligent object inlining, key coalescing, and LSM-backed caching.
These results demonstrate that Tigris can serve as a unified storage solution for mixed workloads, eliminating the need to maintain separate systems for small and large objects.
These benchmarks focus on small object workloads. If your application handles millions of small files (metadata, thumbnails, config objects, AI model checkpoints), Tigris offers significant performance advantages. For workloads requiring vendor-specific integrations, test with your actual access patterns.
Detailed Comparisons
- Comparison: AWS S3 - Full S3 benchmark results
- Comparison: Cloudflare R2 - Full R2 benchmark results
Reproducibility
You can run these benchmarks yourself using our ycsb-benchmarks repository, which contains the full configuration and instructions.