Greetings,
Are there any recommendations for minimum specs for a cloud server? I’m trying to run my server on a free AWS t3.micro. (2 cpus, 1GB Ram, 8GM Storage)
Obviously a tiny tiny system. But for basic testing with a few users, I thought it might be enough. However, I’m finding that even when the system is idle, no users logged in, no matches… it runs fine for a few hours, and after 3-4 hours, the memory consumption starts to spike. Eventually I get timeouts trying to write to cockroach and the server crashes.
This is a vanilla instance of docker with a few go custom rpcs and a few LUA custom hooks added. But again, none of those functions are operating at the moment. The server is just running with nobody logged in.
I also noticed that on docker desktop the memory consumption of the cockroach container appears to be increasing by 20-30MB per hour, while the serer is sitting idle.
Is this normal?
@Mehoo462 There’s no specific hardware requirements in Nakama but we do have a bunch of general recommendations when you run the gametech yourself.
- Do not run Nakama and the database server on the same shared hardware. They will compete for resources and spikes in compute or IO usage (like with background processes run by a database server) will cause issues.
- Ideally don’t run it all under a Docker compose file unless its used with some other orchestration layer to inform the deployment topology. You can use Docker containers (just as we do on Heroic Cloud) but suggest against Docker compose to orchestrate it. Docker compose is most convenient for local development.
- Be sure to configure all the important OS level settings and resource limits that would be advised with any cloud service:
- Virtual Memory
- Transparent Huge Pages
- Disk IO Mounts
- IO Schedulers
- Kernel & Network Tuning
- Open Files Limit
- For specific advise on how to run CRDB it would be best to join their community directly.
This advice is not specific to Nakama but also recommended with any web application service, or mobile app servers developed for any project.
Hope this helps.