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

Ado.net連接池負載測試點評

開發 后端
本文介紹了影響Ado.NET連接池性能的幾個因素。作者為Ado.NET連接池做了一次簡單的測試(VS2008自帶負載測試),并展示測試結果如下。

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

以下為Ado.net連接池做一次簡單的測試:

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

測試代碼1:

  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.             using (System.Data.SqlClient.SqlConnection sqlconn= new  System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))  
  4.             {  
  5.                 sqlconn.Open();  
  6.                 System.Threading.Thread.Sleep(300);  
  7.             }  
  8.              
  9. }  

測試代碼2:

  1. protected void Page_Load(object sender, EventArgs e)  
  2.         {  
  3.             using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))  
  4.             {  
  5.                 sqlconn.Open();  
  6.             }  
  7.             System.Threading.Thread.Sleep(50);  
  8.             using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))  
  9.             {  
  10.                 sqlconn.Open();  
  11.             }  
  12.             System.Threading.Thread.Sleep(50);  
  13.             using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))  
  14.             {  
  15.                 sqlconn.Open();  
  16.             }  
  17.             System.Threading.Thread.Sleep(50);  
  18.             using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))  
  19.             {  
  20.                 sqlconn.Open();  
  21.             }  
  22.             System.Threading.Thread.Sleep(50);  
  23.             using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection("data source=.;initial catalog=northwind;user id=sa;pwd=;Max Pool Size=20"))  
  24.             {  
  25.                 sqlconn.Open();  
  26.             }  
  27.             System.Threading.Thread.Sleep(100);  
  28.         } 

Ado.net連接池測試結果1

Ado.net連接池測試結果1 

Ado.net連接池測試結果2

Ado.net連接池測試結果2 

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

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

【編輯推薦】

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

2009-11-12 09:25:21

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連接池觀

2010-01-05 10:11:23

ADO.NET連接池

2009-11-03 15:58:22

2009-12-23 14:53:28

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連接池

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-12 10:45:45

ADO.NET連接測試

2009-11-03 16:04:29

2009-12-30 16:26:12

ADO.NET連接池

2009-07-21 11:05:49

關閉ADO.NET連接

2009-11-03 16:57:34

ADO.NET FAQ

2009-11-12 08:59:18

ADO.NET數據庫連
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品乱码久久久久久按摩 | 久久精品在线免费视频 | 亚洲视频免费在线播放 | 91大神在线看 | 国产十日韩十欧美 | 黄色网址免费看 | 欧美日韩在线一区 | 99精品久久久久久久 | 久久99国产精一区二区三区 | 国产黄色在线 | 国产精品永久 | 国产ts人妖一区二区三区 | 日韩av免费在线观看 | 欧美激情视频一区二区三区免费 | 国产精品96久久久久久 | 91黄色片免费看 | 国内自拍视频在线观看 | 久久久久久av | 成人亚洲精品久久久久软件 | 中文字幕av网站 | 特级黄一级播放 | 天天干b | 在线观看国产 | 久久精品国产99国产精品亚洲 | 日韩精品一区二区三区第95 | 拍戏被cao翻了h承欢 | 欧美国产日韩在线观看 | 日韩免费一区二区 | 国产一区二区三区在线免费观看 | 欧美日产国产成人免费图片 | 密室大逃脱第六季大神版在线观看 | 91在线最新 | 91精品久久久久久久久久 | 欧美三区| 欧美午夜精品久久久久免费视 | 国产精品久久久久久中文字 | 国产一区二区三区在线 | 亚洲一区二区三区在线视频 | 久久久综合久久 | 伊人一二三 | 99久久精品免费看国产四区 |