Skip to content

Game & network performance testing

Games are among the hardest systems to performance-test. You deal with millions of concurrent players, sub-100 ms latency targets and bidirectional WebSocket connections. Matchmaking queues have to survive launch-day storms, and a major release needs all-night soak runs first. All of this needs a load-testing platform that can generate high concurrency from realistic geographic origins. This section shows you how to plan and run that work in MaxoPerf.

Why game and network performance testing is different

Section titled “Why game and network performance testing is different”

Most web-application load tests look at HTTP request throughput and p95 latency over a short burst. Game performance testing adds three dimensions that change the approach:

Real-time, stateful connections. Multiplayer games talk over long-lived WebSocket (or UDP) connections. Each virtual user holds a session, exchanges messages continuously and handles server-push events, unlike a stateless HTTP client. A single player session can last 30 minutes, so a traditional 2-minute load test never reaches the steady-state resource pressure.

Extreme concurrency at launch. Game launches are the most concentrated traffic events in consumer software. A popular title can go from zero to hundreds of thousands of simultaneous logins in under 10 minutes. Login servers, matchmaking queues and session-allocation services have to survive this spike and recover cleanly, before players lose patience and quit.

Network-sensitive correctness. Players care about round-trip time (RTT), jitter and tick rate, in addition to whether the server returned 200 OK. A game server that handles 50 000 concurrent connections but adds 80 ms of jitter is broken for competitive play. Your load test has to measure these network-quality metrics as well as throughput.

LayerWhat to testPage
Game server (realtime)Concurrent players, session load, world/zone capacityGame server load testing
ProtocolWebSocket, TCP vs UDP trade-offs, message throughputReal-time protocols
Matchmaking & lobbyQueue storms, party/lobby services, fairness under loadMatchmaking and lobby testing
Network qualityRTT, jitter, packet loss, tick rate measurementLatency, jitter, and packet loss
Network conditionsDegraded network simulation, regional realismNetwork emulation conditions
Backend APIsREST/gRPC services, leaderboards, inventory, profilesBackend API and leaderboard testing
Launch eventsLogin storms, patch-day spikes, overnight soakLaunch spike and soak
Day-to-day scenariosPatch day, raid boss, matchmaking storm, weekend soakDaily scenarios
GuidanceDo and don’t pairs for game/network loadDo and don’t

MaxoPerf’s role in game performance testing

Section titled “MaxoPerf’s role in game performance testing”

MaxoPerf is a cloud-native load-testing platform built for the scale and flexibility of game testing:

  • Massive concurrency. MaxoPerf dispatches tests across a managed fleet of runners. It scales to tens of thousands of simultaneous virtual users, and you provision or maintain no infrastructure.
  • WebSocket and TCP support. k6 scripts on MaxoPerf support the full k6 WebSocket API: long-lived connections, bidirectional message exchange, custom round-trip latency metrics and staged ramp profiles.
  • Multi-region player simulation. Select two or more MaxoPerf runner locations (e.g. us-east-1, eu-west-1, ap-southeast-1) to generate load from the same geographic distribution as your real players. Per-region latency charts let you compare player experience across regions in a single run.
  • Spike and soak in one platform. The same test configuration runs a 10-minute launch spike or a 12-hour all-night soak. MaxoPerf streams metrics throughout, so the ops team can watch the overnight run without staying up.
  • Failure criteria. Set p95 latency and error-rate thresholds that fail a run automatically. CI gates use them to block a build when the game server is not ready for launch.

If you are new to game performance testing with MaxoPerf, read in this order:

  1. Real-time protocols: start with the protocol layer.
  2. Game server load testing: build your first concurrent-player test.
  3. Latency, jitter, and packet loss: learn which metrics matter.
  4. Matchmaking and lobby testing: extend to matchmaking services.
  5. Network emulation conditions: simulate degraded networks.
  6. Backend API and leaderboard testing: cover REST/gRPC services.
  7. Launch spike and soak: plan launch-day and post-launch testing.
  8. Daily scenarios: copy-paste recipes for recurring events.
  9. Do and don’t: quick reference before going live.

Last updated: