進(jìn)行測(cè)試ADO連接池工作介紹
這回不打算用ADO連接池進(jìn)行測(cè)試工作了,以上程序中pooing = false表示也不打算使用ADO連接池,通過(guò)連接串Open & Close進(jìn)行10次連接程序,看看是否使用性能計(jì)數(shù)器觀察SQL Server的“物理連接”數(shù)量。
從下面的鋸齒圖可以看出每執(zhí)行一次con.Open(),SQLServer的“物理連接”數(shù)量都增加一,而每執(zhí)行一次con.Close(),SQLServer的“物理連接”數(shù)量都減少一。由于不使用連接池,每次Close連接的時(shí)候Data Provider需要把“邏輯連接”和“物理連接”都銷(xiāo)毀了,每次Open連接的時(shí)候Data Provider需要 建立“邏輯連接”和“物理連接”,鋸齒圖因此而成。#t#
下面啟用連接池再測(cè)試一次。把連接串的pooling參數(shù)改為true,另外在for循環(huán)后加上Console.Read()。
從下圖可以看出,從***次Open到第執(zhí)行完Console.Read()這段時(shí)間內(nèi),SQL Server的“物理連接”數(shù)量一直保持為1,直到關(guān)閉console應(yīng)用程序的進(jìn)程后SQL Server的“物理連接”數(shù)量才變?yōu)?。由于使用了ADO連接池,每次Close連接的時(shí)候Data Provider只需把“邏輯連接”釋放回ADO連接池,對(duì)應(yīng)的“物理連接”則保持打開(kāi)的狀態(tài)。每次Open連接的時(shí)候,Data Provider只需從連接池取出一個(gè)“邏輯連接”,這樣就可以使用其對(duì)應(yīng)“物理連接”而不需建立新的“物理連接”,直線圖因此而成。