Tôi đang cố gắng xác định xem tôi có bị rò rỉ kết nối cơ sở dữ liệu hay không. Vì vậy, tôi cần xem số lượng kết nối mở. Tôi có một số mã kiểm tra đơn giản mà tạo ra một sự rò rỉ:Làm cách nào để đo lường số lượng kết nối cơ sở dữ liệu mở
protected void Page_Load(object sender, EventArgs e)
{
for(int i = 0; i < 100; i++)
{
SqlConnection sql = new SqlConnection(@"Data Source=.\SQLExpress;UID=sa;PWD=fjg^%kls;Initial Catalog=ABC");
sql.Open();
}
}
Lưu ý không có .Close và điều này làm Infact sụp đổ sau khi được chạy 3 lần liên tiếp nhanh chóng.
Để đo rò rỉ Tôi đang chạy màn hình Hiệu suất và đo SQLServer: Các thống kê chung Connections/User:
alt text http://www.yart.com.au/stackoverflow/counter.png
Tuy nhiên, những dường như là zero khi tôi chạy mã của tôi:
alt text http://www.yart.com.au/stackoverflow/counter1.jpg
Tôi nên thay đổi điều gì để thực sự thấy kết nối?
ĐÁP
tôi đã chấp thuận một câu trả lời dưới đây. Mặc dù nó không sử dụng các công cụ hiệu suất, nó đủ tốt để tôi sử dụng. Điểm mấu chốt là tôi muốn xem có bao nhiêu kết nối vẫn mở sau khi mở một trang web và điều này đã làm các trick.
"ASP.NET SQL" có nghĩa là gì? Nếu nó chỉ là hai thẻ, thì hãy để chúng ra khỏi tiêu đề. –