親測(cè)SQLServer的最大連接數(shù)

?
第一輪的測(cè)試結(jié)果令我比較吃驚。
?
當(dāng)創(chuàng)建到101個(gè)連接的時(shí)候,就無(wú)法再創(chuàng)建新連接了。也就是說(shuō),如果連接字符串不做任何處理,我們的程序只能夠跟SQLServer建立101個(gè)連接。測(cè)試結(jié)果截圖如下:
?
?
第二輪測(cè)試,啟用連接池。
?在連接字符串中加入代碼:
Pooling=true;Max Pool Size=40000;Min Pool Size=0;
連續(xù)若干次內(nèi)存都被耗盡了,不過(guò)結(jié)果還算欣慰。
?
?
最高記錄是29299,很顯然不是最高記錄,只因?yàn)槲业墓P記本內(nèi)存有限,所以很難突破。
?
微軟對(duì)最大連接數(shù)的定義
微軟在MSDN上對(duì)最大連接數(shù)的定義是:“默認(rèn)是0,代表不限制,但最大連接數(shù)是32767”。如下圖所示:
?
?有興趣的朋友可以自己編寫代碼測(cè)試、分享一下。
?
如何監(jiān)測(cè)SQLServer的連接數(shù)
SP_WHO 'loginName'
loginName 是當(dāng)然登陸Sql的用戶名,一般程序里面都會(huì)使用一個(gè)username來(lái)登陸SQL這樣通過(guò)這個(gè)用戶名就能查看到此用戶名登陸之后占用的連接了。
如果不寫loginName,那么返回的就是所有的連接。
既然連接數(shù)是可預(yù)測(cè)、可監(jiān)測(cè)的,那么它就是可度量的,那么我們就可以根據(jù)實(shí)際情況來(lái)評(píng)估或測(cè)試程序的并發(fā)放量了。
?有了這些,相信以上的困惑應(yīng)該可以解開(kāi)了吧。

