我不要求比较。我已经知道 PostgreSQL 和 MariaDB 是什么以及它们的区别。
我从另一个角度看待这个问题。像这类公司Facebook用途MySQL(当然已经修补了)但是他们如何处理数百万个请求?
更清楚一点;PostgreSQL有池化池缓存和重新使用当前连接的工具,因为客户端数据是相同的。因此,当PHP应用程序连接到 PgPool 10,000 次,但实际上只使用很少的连接。这使得 PostgreSQL 可以同时供数百万用户使用而不会出现max connection
错误。
但在 MariaDB/MySQL 上有一个max_connection
设置指向150
。这是否意味着只有 150 个客户端可以从同一个 PHP 网页连接到 MariaDB/MySQL?我应该如何处理例如从 PHP 到 MariaDB 的数百万个请求?如果200 万的用户同时登录我的网站,如果我的 会发生什么max_connection
?150
或者,更好的是,是否有与 MariaDB 类似的 PgPool?
在这种情况下我会应用什么样的场景?
答案1
Mysql(与 php 结合)总是在连接已经打开时重用连接。因此,您必须考虑您的平均查询时间(一般为 1 毫秒,但这取决于您的数据库),我希望您的业务能够蓬勃发展,但 150 个连接 = 150*1000 =150kqps ... 我认为这已经足够了!我希望我给您一个很好的解释。
PS 为了了解您当前的情况,请在您的数据库上运行此命令:
SHOW STATUS WHERE `variable_name` = 'Threads_connected';