成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談如何更好的打開和關閉ADO.NET連接池

開發 后端
于ADO.NET連接池有什么作用,相信大家都比較了解了。當開啟了連接池后我們應該如何打開和關閉連接才能更好地利用連接池所帶給我們的好處呢?
MS提倡我們盡可能每次的在連接使用完成后就關閉;這樣導致每次都要進行打開和關閉操作或用using(){…}寫起代碼比較麻煩,還有經常對池的操作似乎也帶來一些性能上的問題;在Asp.net里一個WebForm經常涉及有N個數據庫操作,為了方便直接在init里打開一個連接,然后在Dispose里關閉即省事又能減少對池的操作提高性能;那到底這樣做能不能提高性能呢?答案是能,但有些情況估計會很讓你感覺到失望。當池的連接數能應付用戶請求的時候,的確是可以減少池的操作帶來性能的提升;反之就不一樣了用戶必須等待到獲取連接后才能進行其他操作,當有更多用戶在等待獲取連接的時候只能讓線程處于更長等待時間導致服務總體處理能力下降。

以下做一次簡單的測試:

測試方式是使用VS2008自帶的負載測試,測試用戶數是200,數據庫連接池數設置20,測度時長10分鐘。

關閉ADO.NET連接池測試代碼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);

            }

           

}

關閉ADO.NET連接池測試代碼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);

        }

關閉ADO.NET連接池測試結果1

 

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

測試結果1


<!--[endif]-->

關閉ADO.NET連接池測試結果2

 

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

測試結果2


<!--[endif]-->

從以上測試結果來看顯然是MS所提倡的方式在某些情況是更好的,因為隨著并發用戶的提高,即用即斷的方式總體上表現效果更佳。還有一點非常重要就是***種代碼方式會啟用了池的***數據庫連接數,而第二種代碼方式只使用了6個數據庫連接;這一點進一步說明了,即用即斷在某種情況下更節省數據庫連接資源。

雖然結果這樣但不代表是什么情況都使用即用即斷好,當池不會讓用戶在門外等的情況是不需要用的,當N個數據庫操作間沒其他特別耗時的運算***就用一個連接(對于這個耗時多長就根據你實際情況作出權衡了),對于什么情況應該怎樣做其實通過測試就能找到答案。不過我個人推薦還是用MS提倡的:),本人一向都是采用這種方式。  

【編輯推薦】

  1. ADO.NET中SQL Server數據庫連接池
  2. ADO.NET中的多數據表操作讀取
  3. 淺談ADO.NET中的五個主要對象
  4. 使用LINQ和ADO.NET創建Silverlight程序
  5. ADO.NET數據庫連接、操作SQL舉例
責任編輯:彭凡 來源: cnblogs
相關推薦

2010-01-05 10:11:23

ADO.NET連接池

2009-11-13 13:11:37

ADO.NET連接池

2009-12-23 09:01:15

ADO.NET連接池

2009-11-03 16:51:04

ADO.NET連接池觀

2009-11-03 15:58:22

2009-12-23 14:53:28

ADO.NET連接池

2009-11-12 09:25:21

ADO.NET連接池

2009-11-11 14:04:14

ADO.NET連接池

2009-12-23 09:14:52

ADO.NET連接池

2009-12-30 16:22:58

ADO.NET連接池

2009-07-20 14:03:43

Ado.net連接池

2010-02-25 09:06:40

ADO.NET連接池

2009-12-24 09:49:02

ADO.Net連接池

2010-01-04 16:18:13

ADO.NET連接池

2009-06-26 14:41:48

ADO.NET

2009-11-03 16:04:29

2009-12-30 16:26:12

ADO.NET連接池

2009-12-24 11:04:21

ADO.Net技術

2009-11-03 16:57:34

ADO.NET FAQ

2009-11-12 08:59:18

ADO.NET數據庫連
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品久久二区二区91 | 欧美性久久久 | 国产视频91在线 | 4hu最新网址 | 国产在线拍偷自揄拍视频 | 日韩成人 | 欧美一级三级 | 亚洲自拍偷拍av | 欧美福利在线 | 日本福利片 | 亚洲综合一区二区三区 | 精品区一区二区 | 黄色片在线观看网址 | 99re在线免费视频 | 国产第一页在线播放 | 日本免费视频在线观看 | 一级片网站视频 | 日日干日日 | 黄色一级大片在线免费看产 | 国产免费一区 | 国产性网| 中文字幕亚洲精品 | 亚洲成年在线 | 国产午夜精品一区二区三区嫩草 | 一区二区三区国产好 | 黄色毛片一级 | 亚洲一区在线日韩在线深爱 | 91一区二区三区 | 69xxx免费| 天天拍天天操 | 久久伊人久久 | 国产成人久久av免费高清密臂 | 二区三区视频 | 精品国产不卡一区二区三区 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 日本一道本视频 | 久久精品一区二区 | 有码在线 | 国产成人免费视频网站视频社区 | 超碰97人人人人人蜜桃 | 精品免费国产视频 |