如何实现100 000个用户并发连接到sql server数据库?
我有一个场景,其中有10万用户将登录到使用sql server作为后端的网站,以在同一个表上执行插入。这是实用的吗?怎么实现呢?应该如何设计数据库?
答案 0 :(得分:1)
SQL Server可以处理大量插入行的用户。将发生什么是用户将连接,如果他们可以连接他们的身份将被检查,如果他们具有正确的权限,然后插入将发生,SQL Server将断开连接。一旦插入发生并且SQL Server返回了指示成功或失败的状态代码,用户就没有理由维护连接。
我已经成功地将大量用户这样做到一个审计表中,并且我必须让审计表成为没有任何密钥的堆。这样,SQL Server只会将连续的行添加到连续的页面中,这种情况发生得足够快,插件才能成功发生。无法保证插入将以这种方式发生(但实际上它们确实如此)并且它处理了非常大量的数据。您当然必须测试以确定您的安装是否可以处理您预期的卷。只要成功保存数据,数据的存储顺序无关紧要。
我从未见过可以处理100,000个活动会话的安装。锁的数量可能会压倒任何可能的硬件组。您可能还希望从指定的机器中选择@@ MAX_CONNECTIONS,因为返回的数字将指示当前实例可以(理论上)处理的最大同时连接数。在SQL Server 2008和2012企业中,返回的数字是32,767。