entelicon avatar image
entelicon asked

Max Game Instance Count on Server

This is more of a broad question, but I'm wondering how to determine the amount of game instances I can hold on one server that you guys provide? For example, the "c4.xlarge" server, how many game instances can I run on that and how do I calculate this amount myself so I know for future reference?

If it is determined by the amount of processing 1 game instance needs, how do I know the exact performance of the c4.xlarge server so I can compare to that?

I also have a lingering question, what does spin up and down mean when talking about servers? I've seen other post about this but what exactly is it? Does it have any correlation with game instances? Thanks in advance!

Custom Game Servers
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

brendan avatar image
brendan answered

The best way to do this is by directly monitoring the performance as you do your testing. As you say, checking how much you're consuming of the available CPU/memory/disk per instance is the best way to compute this.

We have a NewRelic integration we did a 'ways back, but unfortunately, NewRelic changed their business model, removing their free tier. As part of that, they also pushed a change which broke our integration for monitoring. Because of the specifics of the new pricing model though, we haven't had anyone ask us to update the NewRelic integration as of yet, so we haven't prioritized it. If after reviewing their pricing you determine that's the route you'd like to go, please do let us know.

If there's another server metrics service you'd like to use, please let us know that as well, so that we can get that on the backlog. Otherwise, your best bet is to do good, verbose logging in your server executable, so that you can review the actual usage (average and peak) over the lifetime of a game session, and calculate your needs based upon that. You can find the specifics on numbers of cores, total memory, etc. on the AWS EC2 pricing pages ( the Windows tab).

When we talk about spin up/down, we're generally talking about server hosts - the actual EC2 server running one or more instances of your game build. The way our custom game server hosting works, whenever you have less than your Min Free Slots available in the running server hosts, we start a new one ("spin up"). That process is - we request a server from EC2, image it with our AMI, download your Zip to it, and decompress your Zip into the appropriate folder. In total, that can take upwards of 15 minutes, so it's best to plan your Min Free Slots accordingly. When a server host no longer has any running instances, if removing it would not drop you below your Min Free Slots level, we shut down that EC2 server ("spin down"). You can read more on our server hosting here:

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

robertdemjan avatar image robertdemjan commented ·

Hello @Brendan,

Are you closer to fixing the NewRelic integration? Do you have maybe any ETA if it's on your dev schedule?

0 Likes 0 ·
brendan avatar image brendan robertdemjan commented ·

Actually, when we found that NewRelic changed their pricing and broke the integration, we asked a few folks that used it previously, and the response from everyone was that their new pricing wasn't acceptable. If our community lets us know that they actually are interested in using that service, in spite of this, that would enable us to prioritize that work. But to date, that hasn't been the feedback we've been getting.

0 Likes 0 ·
Brian Jordan avatar image Brian Jordan brendan commented ·

Any suggestions on a good way to instrument game servers to determine CPU/memory usage and tune the max # game instances per server? Possibly some instrumentation within C#-userland to periodically check CPU/memory and spit it out onto the PlayStream?

0 Likes 0 ·
Show more comments

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.