成人免费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技術棧公眾號

主站蜘蛛池模板: 国产精品1区2区3区 欧美 中文字幕 | 亚洲伊人精品酒店 | 久久久久久久久久久久久9999 | 日韩手机视频 | av激情影院 | 欧美日韩在线视频一区 | 亚洲毛片在线观看 | 国产精品免费在线 | 91国产在线播放 | 欧美a√| 亚洲精品在线视频 | 久久乐国产精品 | 亚洲小视频 | 国产精品久久久99 | 国产a视频 | 日韩国产在线 | 国产精品久久久久无码av | 羞羞视频在线观看 | 91精品国产欧美一区二区成人 | 中文字幕视频网 | 一级黄色毛片a | 国产免费观看久久黄av片涩av | 国产精品久久久久久吹潮 | 欧美一极视频 | 精品一区av| 涩涩片影院 | 国产精品v | 欧美久久视频 | 婷婷综合色 | 欧美成人手机视频 | 视频二区国产 | 人人艹人人爽 | 亚洲第一天堂 | 91精品国产高清一区二区三区 | 日韩精品一区二区三区在线观看 | 视频一区在线 | 午夜视频一区 | 免费黄色的视频 | 国产精品久久国产精品99 gif | 欧美视频免费在线 | 精品国产亚洲一区二区三区大结局 |