我们有一个应用程序,它使用NHibernate连接到SQL Server上的数据库。我们使用连接池和会话每请求方法通过SQL Server执行我们的查询。 我们使用SQL Server活动监视器来监视连接数,并注意到每当用户登录到系统时都会涉及25-30个连接。 所以这里是我的问题要问:可以大量连接到SQL Server导致性能问题?连接数是否重要?
Q
连接数是否重要?
0
A
回答
2
与SQL Server的每个连接都需要分配一定数量的内存,因此在这方面需要考虑性能。
然而,在事情的计划中,20-30连接是一个非常小的数字。
您是否验证过所有连接都属于您的应用程序?我问的原因是因为SQL Server本身将建立并保持一定数量的连接/会话作为服务器整体操作的一部分。
一些有用的DMV对你的监控:
select * from sys.dm_exec_connections
select * from sys.dm_exec_sessions
会话ID的上述51从SQL Server之外可以这么说,也就是用户会话。
继评论:
的SQL Server 2005最多可支持32,767个连接。要检查你有能力执行:
select @@MAX_CONNECTIONS
如果正在使用连接池,然后直到需要处理请求的连接将保持开启并处于睡眠状态。或者,当请求完成处理时,应用程序可能没有关闭连接。
我只能从SQL Server的角度发表评论,因为我不熟悉NHibernate的机制。
+0
感谢您的回复。我确信这些是我们的应用程序连接,每个用户的连接数为20-30,因为我们有近100位用户在使用我们的应用程序,所以平均涉及400-500个连接在应用程序中,用户有3个连接)。我不明白的一件事是,它们中的很多都处于睡眠模式。 – Beatles1692
相关问题
- 1. 数据库连接池是否重要?
- 2. 是否需要重申websocket连接?
- 3. ShareMediaTask是否需要数据连接
- 4. IIS 7 - HTTP连接的数量是否很重要?
- 5. nodejs:数据库连接成本是否重要?
- 6. 长时间轮询 - 重新连接是否重要?
- 7. PHP是否总是需要连接?
- 8. 是否可以重新启动/重新连接SignalR连接?
- 9. 是否socket.io重新连接重新运行连接?
- 10. 使用LEFT(外部)连接时,连接中的表的顺序是否重要?
- 11. Android:getOrientation()是否需要连续重映射?
- 12. 如果桌子连接在一起,Where Statement是否重要?
- 13. UML中的依赖连接器的方向是否重要?
- 14. 在连接sqlserver 2008中使用“ON”时命令是否重要
- 15. 加密连接字符串时,aspnet_regiis的版本是否重要?
- 16. Rmpi是否需要互联网连接?
- 17. 是否需要关闭连接
- 18. Facebook连接集成:是否需要Flash?
- 19. GCM是否需要互联网连接?
- 20. 在gevent gthreads上是否需要连接?
- 21. 连接失败时是否需要mysql_close?
- 22. 是否重要?
- 23. moveToThread()是否重写与排队连接的直接连接?
- 24. 是否有替代重写自连接?
- 25. 内连接和外连接;表中的重要顺序是?
- 26. 如果连接丢失,goinstant api是否会重新连接?
- 27. AFNetworking在连接失败后是否有重新连接方法
- 28. Winsock;在重新连接之前是否需要关闭套接字?
- 29. C++标准要求C连接函数是否为“noexcept”?
您使用连接池吗?你有应用程序/实例击中相同的数据库吗? – RichardOD
这两个问题的答案都是肯定的。我们使用ADO.net构建连接池机制,并且有将近100位用户使用我们的应用程序。 – Beatles1692