Chúng tôi có một quy trình được lưu trữ được gọi là khoảng 300.000 lần mỗi ngày bởi 15 người dùng trong suốt cả ngày. Tôi đã rót qua mọi dòng và nó hiệu quả như tôi có thể đạt được.Hoạt động của SQL Server "Kiểm tra Đăng xuất" mất nhiều thời gian.
Quy trình được lưu trữ được truy cập thông qua trang ASP.NET trên 4.0 từ ứng dụng VB6 kế thừa trên Winterms cơ bản.
Khi tôi nhìn vào các tập tin SQL dấu vết, tôi thấy như sau:
- sp_reset_connection exec (Sử dụng hồ bơi kết nối)
- Audit Login
- Thi hành các thủ tục lưu trữ
- Audit Logout
Tôi thấy ở bước 4, đọc và viết rất cao, có ý nghĩa vì đó là sự tích lũy kết nối được tái sử dụng trong hồ bơi.
Điều gì khiến tôi lo ngại là phải mất bao lâu, đôi khi mất 50ms và các lần khác 400ms, điều đó hoàn toàn ngẫu nhiên. Từ tài liệu tôi đọc "Kiểm tra đăng xuất" là toàn bộ thời lượng cho cả ba bước. Nhưng các bước 1-3 rất nhanh, như 0-5ms. Tại sao thời gian "Đăng xuất kiểm tra" mất quá nhiều thời gian?