Registry service benchmark
This page summarizes a set of performance tests conducted on the Registry Service in December 2025 to understand how it behaves under different data sizes and infrastructure configurations.
The goal is to give operators a practical sense of the throughput and latency they can expect under different data sizes and load levels.
The results below are based on sustained load tests using the open-source k6 tool and reflect steady-state behavior rather than short-lived spikes.
✨ At a Glance
🚀 ~2,200 requests/sec — Peak throughput
⚡ ~42 ms p95 latency — At peak throughput
📈 ~2x throughput gain — 2 vCPU → 4 vCPU
🔬 Test Methodology
Benchmarks were run under controlled conditions using k6 virtual users against a live Registry Service instance.
Traffic Simulation
Parameter | Value |
|---|---|
Concurrent Users | 50–100 virtual users |
Duration | 10 minutes (R0: 2 minutes) |
Infrastructure Configurations Tested
Config | Memory | vCPU |
|---|---|---|
Small | 4 GB | 2 |
Medium | 8 GB | 2 |
Large | 16 GB | 4 |
Dataset Shapes Tested
Namespaces | Registries / Namespace | Records / Registry | Total Records |
|---|---|---|---|
500 | 1 | 200 | 100,000 |
2,000 | 2 | 100 | 400,000 |
2,000 | 2 | 200 | 800,000 |
3,000 | 2 | 250 | 1,500,000 |
1,500 | 2 | 500 | 1,500,000 |
All reported values represent steady-state performance.
📈 Run Results
Reading the latency columns: p90 = 90% of requests completed within that time. p95 captures the 95th percentile — the experience of nearly all requests, including slower ones.
# | Thread Count | Namespaces | Registries / Namespace | Records / Registry | Total Records | Duration | Memory | CPU | Iterations | TPS | Avg (ms) | Min (ms) | Med (ms) | Max (ms) | p90 (ms) | p95 (ms) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
R0 | 50 | 500 | 1 | 200 | 100,000 | 2m | 4GB | 2 | 123,938 | 1032.34 | 48.18 | 0.31 | 46.83 | 286.86 | 70.71 | 78.63 |
R1 | 50 | 500 | 1 | 200 | 100,000 | 10m | 4GB | 2 | 656,173 | 1093.53 | 45.5 | 0.32 | 44.56 | 284.97 | 66.21 | 72.92 |
R2 | 50 | 500 | 1 | 200 | 100,000 | 10m | 8GB | 2 | 696,003 | 1159.94 | 42.88 | 0.29 | 42.27 | 175.11 | 61.88 | 67.86 |
R3 | 100 | 500 | 1 | 200 | 100,000 | 10m | 8GB | 2 | 693,374 | 1155.47 | 86.31 | 0.3 | 85.21 | 523.17 | 118.7 | 129.11 |
R4 | 50 | 2,000 | 2 | 100 | 400,000 | 10m | 8GB | 2 | 1,228,847 | 2048.01 | 24.17 | 0.27 | 23.22 | 317.04 | 36.45 | 40.82 |
R5 | 50 | 2,000 | 2 | 200 | 800,000 | 10m | 8GB | 2 | 676,575 | 1127.54 | 44.08 | 0.3 | 42.83 | 1035.82 | 63.83 | 70.69 |
R6 | 50 | 2,000 | 2 | 200 | 800,000 | 10m | 16GB | 4 | 1,337,820 | 2229.62 | 22.17 | 0.27 | 20.84 | 134.52 | 36.38 | 41.82 |
R7 | 50 | 3,000 | 2 | 250 | 1,500,000 | 10m | 16GB | 4 | 1,070,116 | 1783.44 | 27.78 | 0.28 | 26.56 | 208.58 | 43.78 | 49.46 |
R8 | 50 | 1,500 | 2 | 500 | 1,500,000 | 10m | 16GB | 4 | 575,289 | 958.75 | 51.89 | 0.25 | 46.45 | 301.22 | 87.21 | 103.98 |
🔍 Key Findings
⚡ Infra Scaling
Scaling from 2 to 4 vCPUs on an 800K-record dataset nearly doubled throughput while cutting tail latency by over 85%.
Metric | 8 GB / 2 vCPU | 16 GB / 4 vCPU | Improvement |
|---|---|---|---|
Throughput | 1,127 TPS | 2,229 TPS | ~2x 🚀 |
p95 Latency | 70.7 ms | 41.8 ms | 41% faster 🚀 |
Max Latency | 1,035 ms | 134 ms | 87% faster 🚀 |
With well-distributed data, the Registry Service handles 1.5 million records efficiently on a 16 GB / 4 vCPU instance — sustaining ~1,800 TPS with p95 under 50 ms.
Records | Namespaces | TPS | p95 Latency |
|---|---|---|---|
100,000 | 500 | 1,159 | 67.9 ms |
800,000 | 2,000 | 2,229 | 41.8 ms |
1,500,000 | 3,000 | 1,783 | 49.5 ms |
The service scales gracefully across dataset sizes — even at 15× the baseline record count, throughput stays above 1,700 TPS.
Final note
These results highlight the Registry Service's ability to deliver consistent, predictable performance under sustained load across a wide range of dataset sizes and configurations. The service demonstrates clear scaling behavior, improving both throughput and latency as additional CPU and memory are made available.
While real-world performance will naturally vary based on data layout and usage patterns, the observed results show that the Registry Service can comfortably support high-throughput, low-latency workloads when appropriately sized.
Overall, the tests reinforce that the Registry Service is well-suited for production workloads, with performance characteristics that scale in a transparent and predictable way.