一、數據庫連接池
1、報錯:
超時時間已到。超時時間已到,但是尚未從池中獲取連接。出現這種情況可能是因為所有池連接均在使用,並且達到了最大池大小。
2、問題分析:
問題的原因是與數據庫的連接沒有顯示關閉,而等系統自動回收是要時間的.
3、相關知識:
數據庫連接數,也就是一個數據庫,最多能夠同時接受多少個客戶的連接.
在沒有數據庫連接池的情況下, 一個客戶,每次訪問, 就要創建一個數據庫連接, 執行SQL, 獲取結果,然后關閉、釋放掉數據庫連接。問題就在於創建一個數據庫連接, 是一個很消耗資源,花費很多時間的操作。於是,數據庫連接池產生了。
數據庫連接池預先打開一定數量的數據庫連接,並維持着連接。當客戶要執行SQL語句的時候,從數據庫連接池里面獲取一個連接,執行SQL, 獲取結果,然后把數據庫連接交還給數據庫連接池。
假如一個session , 執行10次獨立的操作。那么不使用數據庫連接池的話,需要創建數據庫連接10次,並關閉10次。使用數據庫連接池的話,直接使用數據庫連接池中已經打開好的,直接使用。
4、解決方法
a、在代碼里面,把未關閉的數據庫連接關閉並釋放資源
b、擴大共享池,配置文件里面,在數據庫連接加
Max Pool Size=512;server=local;uid=;pwd=;database=2004;
二、IIS並發連接數
1、報錯:
HTTP 403.9 - 禁止訪問:連接的用戶過多
2、相關知識:
IIS並發連接數是指,首先是向服務器請求XXX.html,然后還會請求這個網頁里的CSS、JS、圖片等,每次請求算一個IIS並發數。簡單來說,就是一個文件被一位網友下載,那么從下載開始到下載結束,這段時間將持續占用1個IIS連接數。