Production Specs / Performance tips

{Details}

  1. Versions: Nakama 3.12 Linux binaries
  2. Server Framework Runtime language: Go

Hey everyone! Hope this message finds you all well.

I’m currently making a load test scenario in a 2cpu / 4gb ram Linux machine hosting both cockroach single node and nakama server. I’ve tweaked the ulimit and net.core specs.

I have 3 other smaller machines simulating several clients in different threads running a C# console app.

If I just connect those clients to nakama I can get up to 30k (10k per machine), but whenever I start to have those “players” joining matches the server starts lagging and I can get up to 1.5k players connected in a match before the server stops answering.

Also if I have those players sending messages from every 0.5s the server manages to handle up to 500 players only.

I know my config is not ideal, so I wonder if anyone could provide some tips for how I can tweak and get more of a single machine with nakama.

To sum up my specs, I’ll list it below:

Ubuntu server 2 CPU 4 ram, with nakama and cockroach single node

Relay matches between players

ulimit tweaked

Thank you all in advance

The only suggestion right now is to separate the database instance from the Nakama instance. I see you are using a single machine but that alone should bring a large increase in performance.