亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Timeout expired 超時時間已到. 達到了最大池大小 錯誤及Max Pool Size設置

2019-11-17 01:47:45
字體:
來源:轉載
供稿:網友

Timeout expired 超時時間已到. 達到了最大池大小 錯誤及Max Pool Size設置

參考數據庫鏈接串:

<addkey="data"value="server=192.168.1.123;Port=3306;uid=root;pwd=root;database=data;pooling=true;minpoolsize=5;maxpoolsize=512;connecttimeout=20;"/>

查看應用程序池占用數量:

select*fromsys

Max Pool Size:如果未設置則默認為100,理論最大值為32767。最大連接數是連接池能申請的最大連接數,如果數據庫連接請求超過此數,后面的數據庫連接請求將被加入到等待隊列中,這會影響之后的數據庫操作。在等待隊列中,默認等待與服務器的連接的時間為15秒。

中文錯誤:

超時時間已到。超時時間已到,但是尚未從池中獲取連接。出現這種情況可能是因為所有池連接均在使用,并且達到了最大池大小。

英文錯誤:

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

問題描述:我們獲取連接超過連接池最大值時產生如上異常。通常連接池最大值為100。當我們獲取連接超過最大值時,ADO.NET等待連接池返回連接而超時,這樣將拋出如上異常 解決辦法:首先要做的是在我們使用連接后立即關閉連接。如果沒有關閉連接那么連接將保存到連接池中知道GC來銷毀。這種情況下你以為連接池沒有到達最大值但實際上連接池已經到達了最大值 其次我們可以通過連接字符串中的Max Pool Size = N;來動態擴大連接池中的連接最大數量。

說明:

也就是在connectionString中如果未指定max pool size的值,則max pool size=100,當訪問人員同時連接數據庫的數量為101人時,則等待SqlConnection.ConnectionTimeout設置的時間(默認是15 秒)后,還是沒有可用的Connection則會出現上面的錯誤。

當我們設置為:

"Server=(local); Integrated Security=SSPI; Database=Northwind; Max Pool Size=512; Min Pool Size=5" 時。則訪問人員同時連接數據庫的數量為513時,則等待SqlConnection.ConnectionTimeout設置的時間(默認是15 秒)后,還是沒有可用的Connection則 就會出現上面的錯誤。

-Connection Pool是什么呢 ?每當程序需要讀寫數據庫的時候。Connection.Open()會使用ConnectionString連接到數據庫,數據庫會為程序建立 一個連接,并且保持打開狀態,此后程序就可以使用T-SQL語句來查詢/更新數據庫。當執行到Connection.Close()后,數據庫就會關閉當 前的連接。很好,一切看上去都是如此有條不紊。但是如果我的程序需要不定時的打開和關閉連接,(比如說
asp.net 或是 Web Service ),例如當Http Request發送到服務器的時候、,我們需要打開Connection 然后使用Select* from Table 返回一個DataTable/DataSet給客戶端/瀏覽器,然后關閉當前的Connection。那每次都Open/Close Connection 如此的頻繁操作對于整個系統無疑就成了一種浪費。ADO.Net Team就給出了一個比較好地解決方法。將先前的Connection保存起來,當下一次需要打開連接的時候就將先前的Connection 交給下一個連接。這就是Connection Pool。-Connection Pool如何工作的?首先當一個程序執行Connection.open()時候,ADO.net就需要判斷,此連接是否支持Connection Pool (Pooling 默認為True),如果指定為False, ADO.net就與數據庫之間創建一個連接(為了避免混淆,所有數據庫中的連接,都使用”連接”描述),然后返回給程序。

如果指定為 True,ADO.net就會根據ConnectString創建一個Connection Pool,然后向Connection Pool中填充Connection(所有.net程序中的連接,都使用”Connection”描述)。填充多少個Connection由Min Pool Size (默認為0)屬性來決定。例如如果指定為5,則ADO.net會一次與SQL數據庫之間打開5個連接,然后將4個Connection,保存在 Connection Pool中,1個Connection返回給程序。

當程序執行到Connection.close() 的時候。如果Pooling 為True,ADO.net 就把當前的Connection放到Connection Pool并且保持與數據庫之間的連接。

同時還會判斷Connection Lifetime(默認為0)屬性,0代表無限大,如果Connection存在的時間超過了Connection LifeTime,ADO.net就會關閉的Connection同時斷開與數據庫的連接,而不是重新保存到Connection Pool中。

(這個設置主要用于群集的SQL 數據庫中,達到負載平衡的目的)。如果Pooling指定為False,則直接斷開與數據庫之間的連接。

然后當下一次Connection.Open() 執行的時候,ADO.Net就會判斷新的ConnectionString與之前保存在Connection Pool中的Connection的connectionString是否一致。

(ADO.Net會將ConnectionString轉成二進制流,所 以也就是說,新的ConnectionString與保存在Connection Pool中的Connection的ConnectionString必須完全一致,即使多加了一個空格,或是修改了Connection String中某些屬性的次序都會讓ADO.Net認為這是一個新的連接,而從新創建一個新的連接。所以如果您使用的UserID,PassWord的認 證方式,修改了Password也會導致一個Connection,如果使用的是SQL的集成認證,就需要保存兩個連接使用的是同一個)。

然后 ADO.net需要判斷當前的Connection Pool中是否有可以使用的Connection(沒有被其他程序所占用),如果沒有的話,ADO.net就需要判斷ConnectionString設 置的Max Pool Size (默認為100),如果Connection Pool中的所有Connection沒有達到Max Pool Size,ADO.net則會再次連接數據庫,創建一個連接,然后將Connection返回給程序。

如果已經達到了 MaxPoolSize,ADO.net就不會再次創建任何新的連接,而是等待Connection Pool中被其他程序所占用的Connection釋放,這個等待時間受SqlConnection.ConnectionTimeout(默認是15 秒)限制,也就是說如果時間超過了15秒,SqlConnection就會拋出超時錯誤(所以有時候如果SqlConnection.open()方法拋 出超時錯誤,一個可能的原因就是沒有及時將之前的Connnection關閉,同時Connection Pool數量達到了MaxPoolSize。)

如果有可用的Connection,從Connection Pool 取出的Connection也不是直接就返回給程序,ADO.net還需要檢查ConnectionString的ConnectionReset屬性 (默認為True)是否需要對Connection 最一次reset。這是由于,之前從程序中返回的Connection可能已經被修改過,比如說使用 SqlConnection.ChangeDatabase method 修改當前的連接,此時返回的Connection可能就已經不是連接當前的Connection String指定的Initial Catalog數據庫了。所以需要reset一次當前的連接。但是由于所有的額外檢查都會增大ADO.net Connection Pool 對系統的開銷。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲美女精品成人在线视频| 一区二区三区国产在线观看| www.亚洲免费视频| 亚洲天堂av在线免费观看| 国产福利视频一区| 精品国产自在精品国产浪潮| 成人做爽爽免费视频| 国产精品久久久久久久久久新婚| 日韩毛片在线观看| 日韩av大片免费看| 国产精品美乳一区二区免费| 欧美视频裸体精品| 亚洲一级片在线看| 国产精品日韩欧美| 欧美日韩免费在线| 国精产品一区一区三区有限在线| 久久精品成人一区二区三区| 国产精品成久久久久三级| 在线视频免费一区二区| www.美女亚洲精品| 91精品国产91久久久久福利| 国产精品永久免费视频| 九九综合九九综合| 综合国产在线观看| 另类美女黄大片| 一区二区三区久久精品| 欲色天天网综合久久| 亚洲最大av网站| 亚洲第一精品夜夜躁人人爽| 视频一区视频二区国产精品| 色777狠狠综合秋免鲁丝| 国产精品一区二区三区久久久| 欧美成人午夜剧场免费观看| 欧日韩不卡在线视频| 日韩欧美在线字幕| 久久中文精品视频| xxxxx91麻豆| 中文字幕无线精品亚洲乱码一区| 91精品国产高清自在线| 成人妇女免费播放久久久| 久久久久成人精品| 欧美怡春院一区二区三区| 精品国产成人av| 国产成人精品一区二区在线| 国产一区二区在线免费| 国产欧美日韩最新| 亚洲欧美在线播放| 97视频在线观看网址| 一色桃子一区二区| 欧美黑人性视频| 亚洲美女自拍视频| 日韩有码在线观看| 欧美日韩亚洲视频一区| 精品国产一区二区三区四区在线观看| 欧美日韩另类视频| 欧美另类高清videos| 国模精品视频一区二区| 国产精品高清网站| 视频一区视频二区国产精品| 成人免费看黄网站| 欧美高清第一页| 久久最新资源网| 国产精品综合久久久| 久久人人爽人人| 国产精品高清在线观看| 欧美另类极品videosbestfree| 伦伦影院午夜日韩欧美限制| 国产精品成人一区| 亚洲国产成人在线播放| 91牛牛免费视频| 日韩激情视频在线播放| 精品福利樱桃av导航| 色综合久久88| 亚洲新中文字幕| 国内精品久久久久久中文字幕| 久久久久九九九九| 欧美有码在线观看视频| 日韩美女视频免费在线观看| 亚洲美女www午夜| 日韩欧美国产免费播放| 91日韩在线视频| 久久久久久久97| 美女久久久久久久| 日韩经典一区二区三区| 热门国产精品亚洲第一区在线| 亚洲天堂色网站| 欧美极品少妇与黑人| 色偷偷888欧美精品久久久| 日韩亚洲国产中文字幕| 精品久久久国产精品999| 久久久久久久影视| 精品成人在线视频| 亚洲精品天天看| 日韩**中文字幕毛片| 亚洲欧美日韩精品久久亚洲区| 欧美中文字幕视频| 久久精品国产一区二区电影| 欧美成人国产va精品日本一级| 亚洲精品美女久久久久| 热门国产精品亚洲第一区在线| 亚洲天堂av图片| 色噜噜狠狠狠综合曰曰曰| 久久久久久久久综合| 精品成人国产在线观看男人呻吟| 国产精品一区二区3区| 伊人久久大香线蕉av一区二区| 啊v视频在线一区二区三区| 中文字幕久久久av一区| 欧美精品www在线观看| 性欧美激情精品| 亚洲精品日韩丝袜精品| 欧美日韩成人黄色| 欧美一区二区大胆人体摄影专业网站| 国产精品欧美激情在线播放| 欧美日韩在线看| 久久久久久久久久婷婷| 日韩激情av在线免费观看| 国产精品678| 国产亚洲视频中文字幕视频| 日韩网站免费观看高清| 91精品国产自产在线老师啪| 日韩在线观看免费高清完整版| 日韩美女在线观看一区| 91超碰caoporn97人人| 国产精品一区专区欧美日韩| 97人人爽人人喊人人模波多| 日韩在线观看免费高清| 按摩亚洲人久久| 精品中文视频在线| 日韩免费av在线| 国产精品1区2区在线观看| 正在播放欧美视频| 欧美日韩亚洲天堂| 久久在线视频在线| 久久久久久12| 国产成人久久精品| 午夜精品久久久久久久久久久久久| 精品久久久久久中文字幕大豆网| 欧美成人在线免费视频| 777午夜精品福利在线观看| 亚洲欧美另类自拍| 国产精品欧美一区二区| 国产成人精品久久亚洲高清不卡| 神马久久久久久| 5252色成人免费视频| 欧美精品在线观看| 热久久视久久精品18亚洲精品| 欧美精品久久久久久久| 午夜精品一区二区三区在线播放| 亚洲一区久久久| 91系列在线播放| 亚洲精品国产综合区久久久久久久| 亚洲综合最新在线| 久久91亚洲精品中文字幕| 久久九九全国免费精品观看| 亚洲尤物视频网| 欧美精品免费播放| 精品高清美女精品国产区| 亚洲欧美精品suv| 欧美做受高潮1| 最近2019中文免费高清视频观看www99| 日韩精品高清在线观看| 成人xvideos免费视频| 91久久精品国产91久久|