Benchmarks | Tigris Object Storage Documentation

Benchmark results for a single TAG instance

Benchmark results for a single TAG instance serving cached object reads. A single TAG node saturates a 100 Gbps NIC at ~85+ Gbps for objects 1 MiB and larger, delivers ~75K ops/sec for small objects, and maintains low single-digit millisecond TTFB — all while using around 12% of available CPU.

Test environment

Benchmarks were run on Amazon EC2 using go-ycsb and warp.

Role Instance vCPUs Memory Storage Network
Benchmark client c6in.16xlarge 64 128 GiB — 100 Gbps
TAG server i3en.24xlarge 96 768 GiB 60 TB SSD 100 Gbps

TAG was run as a single instance via deploy/native/run.sh. During the benchmarks, TAG CPU usage stayed under 1200% and memory usage remained around 24 GB, leaving significant headroom on the server.

Results — warp

Benchmarks were run using warp. Each test ran GET operations for ~30 minutes.

Object Size Threads OPS Throughput p50 (ms) p99 (ms) TTFB p50 (ms)
1 KiB 16 38,724 37.8 MiB/s 0.3 6.5 < 1
1 KiB 32 58,535 57.2 MiB/s 0.3 2.0 < 1
1 KiB 64 75,717 73.9 MiB/s 0.4 3.2 < 1
100 KiB 16 19,543 1.9 GiB/s 0.6 10.7 < 1
100 KiB 32 28,594 2.7 GiB/s 0.7 5.1 1
100 KiB 64 33,350 3.2 GiB/s 1.3 5.8 1
1 MiB 16 7,224 7.1 GiB/s 5.8 20.2 4
1 MiB 32 10,313 10.1 GiB/s 2.9 12.7 1
1 MiB 64 10,955 10.7 GiB/s 5.3 17.5 1
4 MiB 16 1,984 7.8 GiB/s 13.2 59.7 6
4 MiB 32 2,686 10.5 GiB/s 10.3 38.1 1
4 MiB 64 2,775 10.8 GiB/s 18.6 102.3 1

Results — go-ycsb

Benchmarks were run using go-ycsb.

Object Size Threads OPS p50 (us) p99 (us)
1 KiB 16 34,117 380 1,024
1 KiB 32 47,743 484 2,275
1 KiB 64 55,231 744 4,443
100 KiB 16 7,906 1,842 4,015
100 KiB 32 8,697 3,389 9,775
100 KiB 64 9,726 4,411 25,999
1 MiB 16 2,981 4,891 8,431
1 MiB 32 4,816 6,523 11,223
1 MiB 64 6,255 9,655 19,727

Key observations

Limitations

For 1 MiB+ objects, throughput is NIC-bound at ~85 Gbps — the practical maximum on a 100 Gbps EC2 link. For smaller objects (1 KiB, 100 KiB), throughput is client-bound; multiple benchmark clients would be needed to determine TAG's actual ceiling. A single go-ycsb instance does not scale well past ~20 Gbps and struggles with object sizes above 1 MB.