簡體   English   中英

數據庫連接對象過多-SQL Server

[英]Too many database connection objects - sql server

我的應用程序基於Java構建,並使用sql服務器數據庫。

大約有50個人在使用該應用程序。 但是我在數據庫中最多獲得900個連接對象,並且數據庫在高峰時間關閉。 如何有效地使用連接對象並控制連接數。

以下是控制DB連接的注意點。

  1. 檢查代碼是否在使用后銷毀了所創建的每個連接。 例如,每個DB事務中的“模式”下面都應顯示,如果您使用某些ORM,請確保按照ORM提供程序的建議打開和關閉連接。

     openDBConnection(); Try{ PerformDBTransaction(); }Finally {CloseDBConnection();} 
  2. 檢查是否啟用了連接池。 如果是,則檢查連接字符串或ORM配置中的最小Connections屬性,因為每當在SQL Server上完成單個事務時,它都會創建與Minimum Connections屬性中提到的連接數相同的連接,因此在您的應用程序中可能會提到900個連接。

  3. 如果您的應用程序是Web應用程序或正在與Web服務通信,則檢查是否啟用了Web Gardening(在同一服務器上處理多個Web請求的多個進程)或Web Farming(通過使用負載平衡來使用多個服務器來處理請求)。 如果存在一個或兩個,則通知以下是SQL Server創建連接的公式。 池化連接的總數=進程總數(Web園藝數量)* Web / App服務器總數(Web農場數量)*連接字符串中的“最小連接數”參數值。

有效使用:

連接池已經是使用連接的有效方法,但是連接池的價值應取決於您的要求和DB Server硬件功能。 如果您確定只有50個用戶將在一個時間單位內每個事務進行一次事務,那么只需配置連接池就可以創建50個連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM