0
\$\begingroup\$

I don't need an exact number but I want to know roughly how many MySQL servers do I need to rent if I were to develop an online RPG game that has roughly 100000 users per day (assuming on average 1 hour per user-day)?

To clarify a little bit, I am asking for only the number of MySQL servers and this does not include other API servers. MySQL servers are used to save user data such as name, level, weapons, inventory .etc.

Also since master servers are more expensive than slave servers so I would like to know how many master servers are needed and how many slaves are needed per master. Again, I only need a rough estimation based on experience and feeling, not an exact number.

If anyone has experience about this number and are kind enough to share it I will really appreciate.

\$\endgroup\$
7
  • 2
    \$\begingroup\$ What makes you think you'll need more than one? Tbh this sounds a bit like a fantasy question, if you had a game ready to be released anytime soon you could just measure how hard your DB is being hit. \$\endgroup\$
    – Cubic
    Sep 29, 2021 at 8:31
  • \$\begingroup\$ The problem is I don't have a game to be released soon and I need to estimate how much money I will need to spend on these machines in order to decide if I have to cut some functionality of the game. Some conference article I found on this topic suggests multiple MySQL servers are needed. However the article did not tell how many it actually used. Link to the article: vdocuments.net/mysql-for-large-scale-social-games.html \$\endgroup\$
    – cr001
    Sep 29, 2021 at 8:37
  • \$\begingroup\$ How do you know it will be 100 000 per day and only 1 hour? Could be 100 per day but they play 10 hours or 1 000 000 with 10 minutes. It is almost impossible to guesstimate this, also the reason why so many online games usually have server issues at launch. \$\endgroup\$
    – bibleblade
    Sep 29, 2021 at 9:05
  • \$\begingroup\$ Also you are only asking for servers to save data? Honestly that is not as much as you think. You should only save IDs, names and states. You can easily save like 2 million strings in one database which doesnt even need a full server. I used one server for all my web development projects. All websites and databases are stored on there. (Of course in RAID 1 with a backup server) \$\endgroup\$
    – bibleblade
    Sep 29, 2021 at 9:08
  • 1
    \$\begingroup\$ @cr001 the point is the fact that you even ask this question is in itself a strong hint it's way to early for you to ask this question. Try developing something that works before worrying about what troubles you might have if you're - to be frank - unreasonably successful. All this time worrying about what to do about 100,000 daily users is wasted in the more likely case you'll get a couple dozen, and that's assuming you'll be able to finish your project to begin with. \$\endgroup\$
    – Cubic
    Sep 30, 2021 at 15:51

1 Answer 1

5
\$\begingroup\$

I'm sorry, but we can not even give you a rough estimate as long as we do not know anything about your game. We do not know how many SQL queries each player generates. It could be anything between one SELECT and one UPDATE per session (one when they log in and one when they log out) or they could be generating multiple queries per second. And we also don't know how complex those queries are. They could be simple ones which only take microseconds to answer, or very complex ones which keep your whole MySQL cluster busy for seconds.

So in order to get at least the order of magnitude correct, you won't get around making a load-test. Tell your development team* to develop your gameserver to a level that it can access a database and send a couple queries which are similar to the usage patterns you would expect from the clients. Then spin up a small SQL server for load-testing. SQL queries will scale with the amount of data in the tables you query. So you also need to generate an appropriate amount of test data. Then simulate a couple thousand players on your server, check the load on the SQL server and extrapolate.

* You do have a team, right? MMORPGs are among the most complex and expensive games to develop and operate. They are not projects you can pull off as a solo developer.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .