# 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[​](#key-results "Direct link to 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[​](#load-phase-summary "Direct link to 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.53<!-- -->x Tigris)   | 37.791<!-- --><!-- -->ms<!-- -->(<!-- -->1.05<!-- -->x Tigris)  | 8826.4<!-- --><!-- -->sec<!-- -->(<!-- -->1.32<!-- -->x Tigris) | 1133<!-- --><!-- -->ops/sec<!-- -->(<!-- -->0.76<!-- -->x Tigris)  |
| R2      | 197.119<!-- --><!-- -->ms<!-- -->(<!-- -->11.73<!-- -->x Tigris) | 340.223<!-- --><!-- -->ms<!-- -->(<!-- -->9.48<!-- -->x Tigris) | 72063<!-- --><!-- -->sec<!-- -->(<!-- -->10.74<!-- -->x Tigris) | 138.8<!-- --><!-- -->ops/sec<!-- -->(<!-- -->0.09<!-- -->x Tigris) |

![Total load time comparison](/docs/assets/images/total-time-load-comparison-c7c8a483cc6a0513151002e5975cef61.webp "Total load time – Tigris vs S3 vs R2")

*Total load time for loading 10M 1 KB objects*

## Read Performance Summary[​](#read-performance-summary "Direct link to 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.15<!-- -->x Tigris)    | 42.047<!-- --><!-- -->ms<!-- -->(<!-- -->5.34<!-- -->x Tigris)   | 896.8<!-- --><!-- -->sec<!-- -->(<!-- -->3.71<!-- -->x Tigris)   | 891.5<!-- --><!-- -->ops/sec<!-- -->(<!-- -->0.27<!-- -->x Tigris) |
| R2      | 605.695<!-- --><!-- -->ms<!-- -->(<!-- -->112.19<!-- -->x Tigris) | 680.959<!-- --><!-- -->ms<!-- -->(<!-- -->86.56<!-- -->x Tigris) | 4705.3<!-- --><!-- -->sec<!-- -->(<!-- -->19.47<!-- -->x Tigris) | 42.6<!-- --><!-- -->ops/sec<!-- -->(<!-- -->0.01<!-- -->x Tigris)  |

## Write Performance Summary[​](#write-performance-summary "Direct link to 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.1<!-- -->x Tigris)    | 41.215<!-- --><!-- -->ms<!-- -->(<!-- -->2.49<!-- -->x Tigris)   | 896.8<!-- --><!-- -->sec<!-- -->(<!-- -->3.71<!-- -->x Tigris)   | 223.6<!-- --><!-- -->ops/sec<!-- -->(<!-- -->0.27<!-- -->x Tigris) |
| R2      | 605.695<!-- --><!-- -->ms<!-- -->(<!-- -->47.12<!-- -->x Tigris) | 680.959<!-- --><!-- -->ms<!-- -->(<!-- -->41.16<!-- -->x Tigris) | 4705.3<!-- --><!-- -->sec<!-- -->(<!-- -->19.48<!-- -->x Tigris) | 42.6<!-- --><!-- -->ops/sec<!-- -->(<!-- -->0.05<!-- -->x Tigris)  |

## Conclusion[​](#conclusion "Direct link to 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[​](#detailed-comparisons "Direct link to Detailed Comparisons")

* [Comparison: AWS S3](/docs/overview/benchmarks/aws-s3/.md) — Full S3 benchmark results
* [Comparison: Cloudflare R2](/docs/overview/benchmarks/cloudflare-r2/.md) — Full R2 benchmark results
* [Model Training on Tigris](/docs/overview/benchmarks/model-training/.md) — ML training with TAG caching on Tigris

## Reproducibility[​](#reproducibility "Direct link to Reproducibility")

You can run these benchmarks yourself using our [ycsb-benchmarks](https://github.com/tigrisdata-community/ycsb-benchmarks) repository, which contains the full configuration and instructions.
