簡體   English   中英

富客戶端直接訪問數據庫的連接池

[英]Connection pooling for a rich client accessing a database directly

我有一個舊應用程序WinForms,它們直接連接到SQL Server 2005數據庫。

同時有許多客戶端應用程序打開(數百個),因此我想最大程度地減少與數據庫的連接數。

我可以及早並經常釋放連接,並保持較低的超時值。

還有其他需要考慮的事情嗎?

創建新連接時,請嘗試使用相同的連接字符串,因此.Net將使用一個連接池。

盡快處理您的連接。

您可以在連接字符串本身中設置最大池大小,以確定活動連接的最大數量。

您應該考慮引入連接池。 在Java世界中,通常可以通過應用程序服務器免費獲得此功能。 但是,如果您所關心的只是數據庫連接池,那么無論如何這都會過大。

總體思路是讓一個進程(在服務器上)打開到數據庫的有限數量的並行連接。 您將在某種“代理”應用程序(某種小型應用程序服務器)中執行此操作,然后重復使用昂貴的應用程序來為應用程序的傳入連接創建數據庫連接,而這些連接的創建和丟棄成本較低。

當然,這也需要對客戶端進行一些更改,因此,如果您不能接受將其作為前提條件,則可能不是理想的解決方案。

暫無
暫無

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

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