日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
概述ASP.NET連接數(shù)據(jù)庫

1.問題的發(fā)現(xiàn)

2006年下半年,筆者在山東臨淄齊魯石化駐地參與一個項目的開發(fā)。公司的另外一個項目《合同管理系統(tǒng)》正處于實施后期階段。該項目采用.Net開發(fā)的B/S架構的系統(tǒng),使用Oracle做后臺數(shù)據(jù)庫。先后兩次發(fā)現(xiàn),當在線用戶較多的時候,客戶端感覺服務系統(tǒng)反應很慢(多數(shù)用戶報告在登錄界面點擊登錄按鈕后,一直處于等待狀態(tài),系統(tǒng)不再反應)。查看服務器使用情況,CPU和硬盤訪問并不繁忙,內(nèi)存占用也不是非常大;連接到數(shù)據(jù)庫沒有發(fā)現(xiàn)死鎖,但是會話非常多,大約在110個左右。開始懷疑是數(shù)據(jù)庫的進程(Processes)和會話(Sessions)設置的值較低(未安裝時候的默認值,分別為170和150)。但是將這兩個值擴大以后仍舊未解決問題。在第二次發(fā)現(xiàn)該問題的時候,我注意到雖然設置值較低,但是當前并未達到這兩個值得上限;同時我也注意到該系統(tǒng)連接數(shù)據(jù)庫的會話正好是100個,由此我聯(lián)想到數(shù)據(jù)庫連接池。

2.相關資料

使用連接字符串關鍵字控制連接池SqlConnection 對象的 ConnectionString 屬性支持連接字符串鍵/值對,這些鍵/值對可用于調(diào)整連接池邏輯的行為。

ASP.NET連接數(shù)據(jù)庫,數(shù)據(jù)庫連接池默認是開啟的,并且池中允許的最大連接數(shù)默認為100。由此基本可以確定,訪問系統(tǒng)收到的阻礙時由于連接池已滿造成的。

該頁面中提到,如果連接池中的連接全部占用,系統(tǒng)會在連接池之外開啟新的連接。這個說法有疑問,該問題在后面的會體積。

3.問題的確認

為了驗證ASP.NET連接數(shù)據(jù)庫時,連接池中的連接達到最大數(shù),新的連接就需要等待連接池中的連接釋放資源,我編寫了一個測試頁面,在頁面裝載的時候,首先打開10個連接,然后等待20秒鐘后再關閉這些連接。隨后使用測試機打開兩個測試線程訪問該測試頁面,然后在瀏覽器中打開于這個測試頁面使用相同連接字串的另外一個頁面,發(fā)現(xiàn)后者的確需要等待測試線程訪問的頁面處理完畢之后才可以連接到數(shù)據(jù)庫。

4.問題的解決

找到問題的癥結(jié)所在,我們系統(tǒng)的ASP.NET連接數(shù)據(jù)庫的字串,增加了Max Pool Size項,根據(jù)需要將其設置為200。同時修改了Oracle服務器的的會話(Sessions)和進程(Progresses)的值以滿足連接會話的需要。

5.疑問

如前所述,資料中提及,如果連接池的連接全部占用,會創(chuàng)建新的連接。但是在采用默認連接池大小和設置為20個最大連接數(shù)的時候,連接池的所有連接全部占用,新的連接請求并沒有開啟新的連接會話,而是等待連接池中的連接釋放。

但是連接池最大連接數(shù)設置為200個的時候,該系統(tǒng)的連接曾經(jīng)一度超過200個上限,達210多個。由此可以判斷超出的連接請求在連接池之外創(chuàng)建了新的連接會話,符合了資料中的論述。對此疑問,煩請知情者闡述一下自己的觀點。

6.補充

在連接字串修改之后,原有的連接池會重新構建,這一特性是否可以在何種情況下應用?


文章題目:概述ASP.NET連接數(shù)據(jù)庫
分享鏈接:http://www.dlmjj.cn/article/dpdjihg.html