跟踪我的数据库上的活动连接我发现有时连接超过100,这是正常的吗?几分钟后,它返回20或25个活动连接 更多有关我的问题的详细信息
网站上的流量约为每天200位访问者. 我为什么这么问?因为asp.net连接字符串中的默认MaxPool是100而且我在网站IIS中使用Connection
这实际上取决于您的网站和流量.我看到一个站点在高峰期间查看超过350个与SQL的活动连接.这适用于大约7,000名网络用户,两台Web服务器以及各种后端流程.
编辑我们需要一些额外的信息来为您提供更好的答案:
你的SQL服务器有多少个Web进程?例如你在使用网络花园吗?你有多台服务器,如果你这么做多少?这很重要,因为您可以通过确定已配置的每个进程的工作线程数来计算可以拥有的连接数.假设更糟糕的情况,每个线程都在运行,这将添加到池的连接.
你在使用连接池吗?如果是这样,在用户的请求结束后你会看到连接.默认情况下启用它.
你有多少concinitynt用户?
但是,我认为你的错误,你的游泳池中没有免费连接的问题.我要寻找的第一件事是任何泄漏的连接(连接保持打开的时间超过它们应该).例如,将数据读取器传递到Web页面可能就是一个标志.
接下来是评估默认设置.也许你应该运行一个网络花园,它可以提供更多的连接,或增加可用的连接数.
我要做的最后一件事是尝试像上一个问题一样优化查询.假设您将这些查询减少了一半,您所做的就是自己购买更多时间,直到更多用户进入系统,而您回到这里,只是这次您可能无法再次优化该查询.