我们的SQL Server 2000有时会打开600多个进程(不是所有的活动)。 当我们用sp_who进行search时,我们注意到当服务器达到800个进程时,它开始performance不稳定。
在这里,我能够或者必须尊重这个峰吗? 我在哪里可以find更多关于此的信息?
在给定的时间可以运行的进程的数量没有离散的限制。 最终,这取决于您的服务器资源。 每个打开的连接都有less量的内存消耗(在SQL 2005中为500kb,我相信 – 对于SQL 2000应该或多或less)。
如果你定义“它开始performance不稳定”,这可能会有所帮助。 我想你只需要对服务器征税,而且你需要检查你的操作环境,看看是否可以优化环境,调整你的服务器,或者(作为最后的手段)是否需要添加硬件资源。
我会质疑为什么你要开始大量的进程。 我们之前已经运行了数千个并发用户的应用程序和网站,而且我不记得曾经看过几百个进程,即使同时运行多个独立的应用程序也是如此。 连接池是你的朋友。
正如你所提到的,sp_who显示了连接。 sp_who'active'显示活动的连接,所以不要担心睡眠的连接。 只要调用连接的客户端从networking中消失,这些就会closures。 在企业pipe理器中,您可以看到调用连接的客户端的IP地址和MAC地址。 如果您确信客户端应用程序已正确closures,您可以通过列表并通过spid终止连接。