因此,我一直在编写此NodeJS测验应用程序。最初,我们并不期望有那么多用户,但是随着时间的流逝,我们正在寻找约500000个潜在注册用户。 考虑到选择的数据库iss MySql,并考虑到并非所有注册用户都将同时登录,最大的并发MySQL连接数是多少? 另外,托管此应用程序需要多少RAM和CPU?
答案 0 :(得分:1)
使用node.js时,您可以简单地使用连接池,池化没有明显的不利影响,但是建立的连接要少得多(开销也更少)。
此外,这全都取决于实际执行了多少查询以及需要多少执行时间,以下是一些补充数字:
让我们假设如果有50k个用户同时在线,并且每个用户每5s进行1次交互并花费10ms的DB时间执行,则需要50k * 10ms / 5s = 100个并发连接。
当然,您需要考虑一些实数,并且读写比率非常重要(读取可能并行运行),如果读取构成大量查询,则缓存可以提供很多帮助。
总而言之,如果您所做的只是对每个交互进行一些简单的选择和插入,您就不需要太多。
PS This post提供了一些有趣的数字:使用连接池时,5k连接= 100k并发用户。当然,他/她没有提到他/她的负载类型,但是当连接池到位时,您可以看到(并发/连接线程)最多可以达到数十个。
答案 1 :(得分:0)
您可以将mySQL的最大全局连接设置为10,000,000。 对于下面的硬件要求,链接可以为您提供帮助。
https://www.percona.com/blog/2019/02/25/mysql-challenge-100k-connections/
希望如果您不告诉我,您会得到答案。