To have better insight into platform metrics, deploying Prometheus and Grafana beforehand is recommended.
Suggested tool: Artillery with 3 workers Number of clients: 20,000 WebSocket client subscriptions Metrics to collect: Memory heap chart, CPU load chart
Endpoints |
---|
ws://rango.example-namespace:8080?stream=global.tickers |
All the tests were executed on a Kubernetes cluster of 12 nodes with 8 CPU cores and 16 GB of RAM each.
Component | Replicas |
---|---|
Rango | 12 |
Envoy | 8 |
As we can see, a Rango deployment with 12 replicas can support up to 240,000 active WebSocket connections.
All of that is achieved with a relatively small CPU footprint of about 0.08 CPU cores per Pod, meaning that the whole setup needs less than one CPU core to function even under heavy load.
Peak memory usage reached around 300-350 MB per Pod, meaning the whole deployment utilized ~3.6 GB of RAM.
Rango has been designed with performance and scalability in mind, and these benchmarks clearly show that it successfully achieved these goals, allowing OpenDAX-based cryptocurrency exchanges to reliably sustain massive user traffic, all the while maintaining a small resource usage footprint.