欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池

本篇內(nèi)容主要講解“如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池”吧!

網(wǎng)站制作、建網(wǎng)站找專(zhuān)業(yè)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián):定制網(wǎng)站、模板網(wǎng)站、仿站、微信小程序定制開(kāi)發(fā)、軟件開(kāi)發(fā)、成都App定制開(kāi)發(fā)等。做網(wǎng)站價(jià)格咨詢(xún)創(chuàng)新互聯(lián):服務(wù)完善、10多年建站、值得信賴(lài)!網(wǎng)站制作電話(huà):028-86922220

MS提倡我們盡可能每次的在連接使用完成后就關(guān)閉;這樣導(dǎo)致每次都要進(jìn)行打開(kāi)和關(guān)閉操作或用using(){…}寫(xiě)起代碼比較麻煩,還有經(jīng)常對(duì)池的操作似乎也帶來(lái)一些性能上的問(wèn)題;在Asp.net里一個(gè)WebForm經(jīng)常涉及有N個(gè)數(shù)據(jù)庫(kù)操作,為了方便直接在init里打開(kāi)一個(gè)連接,然后在Dispose里關(guān)閉即省事又能減少對(duì)池的操作提高性能;那到底這樣做能不能提高性能呢?答案是能,但有些情況估計(jì)會(huì)很讓你感覺(jué)到失望…。當(dāng)池的連接數(shù)能應(yīng)付用戶(hù)請(qǐng)求的時(shí)候,的確是可以減少池的操作帶來(lái)性能的提升;反之就不一樣了用戶(hù)必須等待到獲取連接后才能進(jìn)行其他操作,當(dāng)有更多用戶(hù)在等待獲取連接的時(shí)候只能讓線(xiàn)程處于更長(zhǎng)等待時(shí)間導(dǎo)致服務(wù)總體處理能力下降。

以下做一次簡(jiǎn)單的測(cè)試:

測(cè)試方式是使用VS2008自帶的負(fù)載測(cè)試,測(cè)試用戶(hù)數(shù)是200,數(shù)據(jù)庫(kù)連接池?cái)?shù)設(shè)置20,測(cè)度時(shí)長(zhǎng)10分鐘。

關(guān)閉ADO.NET連接池測(cè)試代碼1:

protected void Page_Load(object sender, EventArgs e)

{

            using (System.Data.SqlClient.SqlConnection sqlconn= new  System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))

            {

                sqlconn.Open();

                System.Threading.Thread.Sleep(300);

            }

           

}

關(guān)閉ADO.NET連接池測(cè)試代碼2:

protected void Page_Load(object sender, EventArgs e)

        {

            using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))

            {

                sqlconn.Open();

            }

            System.Threading.Thread.Sleep(50);

            using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))

            {

                sqlconn.Open();

            }

            System.Threading.Thread.Sleep(50);

            using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))

            {

                sqlconn.Open();

            }

            System.Threading.Thread.Sleep(50);

            using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))

            {

                sqlconn.Open();

            }

            System.Threading.Thread.Sleep(50);

            using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))

            {

                sqlconn.Open();

            }

            System.Threading.Thread.Sleep(100);

        }

關(guān)閉ADO.NET連接池測(cè)試結(jié)果1

 

<!--[if !vml]-->

如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池


<!--[endif]-->

undefined

關(guān)閉ADO.NET連接池測(cè)試結(jié)果2

 

<!--[if !vml]-->

如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池


<!--[endif]-->

從以上測(cè)試結(jié)果來(lái)看顯然是MS所提倡的方式在某些情況是更好的,因?yàn)殡S著并發(fā)用戶(hù)的提高,即用即斷的方式總體上表現(xiàn)效果更佳。還有一點(diǎn)非常重要就是***種代碼方式會(huì)啟用了池的***數(shù)據(jù)庫(kù)連接數(shù),而第二種代碼方式只使用了6個(gè)數(shù)據(jù)庫(kù)連接;這一點(diǎn)進(jìn)一步說(shuō)明了,即用即斷在某種情況下更節(jié)省數(shù)據(jù)庫(kù)連接資源。

雖然結(jié)果這樣但不代表是什么情況都使用即用即斷好,當(dāng)池不會(huì)讓用戶(hù)在門(mén)外等的情況是不需要用的,當(dāng)N個(gè)數(shù)據(jù)庫(kù)操作間沒(méi)其他特別耗時(shí)的運(yùn)算***就用一個(gè)連接(對(duì)于這個(gè)耗時(shí)多長(zhǎng)就根據(jù)你實(shí)際情況作出權(quán)衡了),對(duì)于什么情況應(yīng)該怎樣做其實(shí)通過(guò)測(cè)試就能找到答案。不過(guò)我個(gè)人推薦還是用MS提倡的:),本人一向都是采用這種方式。  

到此,相信大家對(duì)“如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章名稱(chēng):如何更方便地打開(kāi)和關(guān)閉ADO.NET連接池
網(wǎng)頁(yè)網(wǎng)址:http://www.chinadenli.net/article12/gceogc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)軟件開(kāi)發(fā)品牌網(wǎng)站設(shè)計(jì)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)靜態(tài)網(wǎng)站微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)