偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

利用session測試ADO.NET連接池性能

開發(fā) 后端
文章通過共享一個session的測試證明了ADO.NET連接池性能是相當(dāng)強(qiáng)大的,大家可以通過文章的代碼測試一下。

學(xué)習(xí)ADO.NET連接池時,你可能會遇到性能問題:一個有近200個子單據(jù)的單據(jù),提交時會非常慢,甚至?xí)霈F(xiàn)超出最大進(jìn)程數(shù)這樣的錯誤。查看代碼,發(fā)覺對每個子單據(jù)都啟動了流程,都要單獨(dú)獲取session與DB交互。查看DB中的session連接數(shù),發(fā)覺每提交單據(jù),session都會多達(dá)250+...。這里就把我的想法分享給大家。

想法:當(dāng)時第一感覺就是認(rèn)為問題應(yīng)該是在這里,就有了這樣的想法:改變每個單據(jù)都占用session,而共享一個session來與DB交互,以提高應(yīng)用的性能。初步設(shè)定與DB得交互次數(shù)在150左右。想法驗(yàn)證

ADO.NET連接池共享一個session的測試

  1. try  
  2. {  
  3. conn.Open();  
  4. connCount++;  
  5. trans=conn.BeginTransaction();  
  6. for(inti=0;i<50;i++)  
  7. {  
  8. stringrandom=rdm.Next().ToString();  
  9. Insert(string.Format(insertSql1,"姓名"+random),trans);  
  10. Insert(string.Format(insertSql2,"城市"+random),trans);  
  11. Update(string.Format(updateSql,random),trans);  
  12. }  
  13. dt=Query(string.Format(querySql,rdm.Next(1,500)),trans);  
  14. trans.Commit();  
  15. }  
  16. catch(Exceptionex)  
  17. {  
  18. if(null!=trans)  
  19. trans.Rollback();  
  20. Sav2File("TestConnectionWithOneexception:"+ex.Message);  
  21. }  
  22. finally  
  23. {  
  24. if(null!=conn)  
  25. conn.Close();  
  26.  
  27. }  

獨(dú)占一個session的測試(每個方法里包含了獲取session和釋放session的操作)

  1. for(inti=0;i<50;i++)  
  2. {  
  3. stringrandom=rdm.Next().ToString();  
  4. Insert(string.Format(insertSql1,"姓名"+random));  
  5. Insert(string.Format(insertSql2,"城市"+random));  
  6. Update(string.Format(updateSql,random));  
  7. }  
  8.  
  9. DataTabledt=Query(string.Format(querySql,rdm.Next(1,500)));  

#T#多次測試的平均結(jié)果:獨(dú)占session的:718.75ms,建立數(shù)據(jù)庫連接次數(shù):151共享session的:781.25ms,建立數(shù)據(jù)庫連接次數(shù):1這個結(jié)果確實(shí)讓我很吃驚,但足以證明了ADO.NET連接池做的是相當(dāng)出色的。個人認(rèn)為:共享的慢就慢在了采用了Transaction...。希望通過這個測試會讓大家對連接池的性能認(rèn)識有所提高。

責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-07-20 14:03:43

Ado.net連接池

2009-11-03 16:51:04

ADO.NET連接池觀

2009-12-23 09:01:15

ADO.NET連接池

2009-11-13 13:11:37

ADO.NET連接池

2009-12-23 14:53:28

ADO.NET連接池

2009-11-11 14:04:14

ADO.NET連接池

2010-01-05 10:11:23

ADO.NET連接池

2009-11-03 15:58:22

2010-02-25 09:06:40

ADO.NET連接池

2009-12-30 16:22:58

ADO.NET連接池

2009-12-23 09:14:52

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-12 08:59:18

ADO.NET數(shù)據(jù)庫連

2009-11-03 16:57:34

ADO.NET FAQ

2009-11-03 16:04:29

2009-07-21 11:05:49

關(guān)閉ADO.NET連接

2009-12-30 16:26:12

ADO.NET連接池
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號