我們有一個應用程序,它使用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