Sản phẩm SQL Server 2008 R2 của chúng tôi đôi khi bắt đầu thực hiện chậm: tất cả các truy vấn bắt đầu hoạt động quá chậm (và đôi khi tất cả các truy vấn chỉ bị treo và chờ đợi một cái gì đó sau đó tiếp tục). Điều này thường kéo dài vài phút.
Tôi đã đọc rằng đôi khi thống kê cập nhật tự động có thể làm chậm máy chủ:
Có một lý do để cập nhật số liệu thống kê bằng tay?
Tôi thấy rằng đôi khi thống kê cập nhật tự động xảy ra đối với các chỉ mục khá lớn (kích thước 1,7 GB, bảng 5,5M hàng). Tôi có thể xem ngày cập nhật gần đây nhất cho thống kê qua STATS_DATE, nhưng tôi không thể thấy thời lượng của quy trình này.
Bạn có thể, xin vui lòng, đề nghị làm thế nào tôi có thể xem thời lượng cập nhật tự động thống kê? Hoặc làm thế nào tôi có thể xác định rằng số liệu thống kê cập nhật tự động gây ra vấn đề?
Cảm ơn bạn.
PS Sau khi chúng tôi gặp phải những vấn đề về hiệu suất này, tôi bắt đầu theo dõi số liệu thống kê chờ. Loại chờ cao nhất là CXPACKET. Nó thay đổi từ 36% đến 60% của tất cả các chờ đợi. Và vào buổi sáng, khi ngày làm việc bắt đầu, nó có giá trị tối đa trong ngày làm việc (người dùng thường làm việc với ứng dụng 12 giờ mỗi ngày). Loại chờ cao thứ hai là SOS_SCHEDULER_YIELD (15% -20%).
Tôi đã tìm thấy một số bài đăng trên Internet nơi nó đề cập rằng thời gian chờ đợi của CXPACKET cho thấy rằng số liệu thống kê cập nhật tự động gây ra sự cố. Nhưng tôi đã không tìm thấy bằng chứng thực sự của những tuyên bố như vậy. Rõ ràng với tôi rằng CXPACKET có thể hiển thị các vấn đề khi thực hiện song song các truy vấn SQL (từ http://www.dbadiaries.com/reducing-sql-server-cxpacket-wait-type ).