How do you test the scalability of a WebSocket-based application?
- websocket
- scalability
- concurrent connections
Answer it first, then compare. Nothing here is saved or scored.
Model answer
Challenges: persistent connections, bidirectional communication, connection limits. Tests: (1) Maximum concurrent connections: ramp up connections and find the ceiling. (2) Message throughput: send N messages/second across all connections. (3) Broadcast latency: measure time from server event to all clients receiving it. (4) Reconnection storm: disconnect all clients simultaneously and test reconnection handling. (5) Memory per connection: monitor server memory as connections grow. Tools: k6 with WebSocket support, Artillery, custom Node.js scripts with ws library.
What interviewers listen for
- Workload modellingYou design the load shape from product traffic, not from tool defaults.
- Percentile literacyYou read p50/p95/p99 separately and explain why each matters.
- Bottleneck triageYou correlate metrics across application, database, and infrastructure layers.
- Capacity instinctsYou can translate a soak test into a sizing or scaling recommendation.