Chúng tôi đã có một máy chủ DB sản xuất trên SQL 2005. Mọi thứ hoạt động bình thường trong một thời gian, nhưng sau một vài tuần, chúng tôi thấy hiệu suất giảm đáng chú ý. Chỉ khởi động lại SQL Server đưa hiệu suất trở lại bình thường.
Một số nền tảng:
- Chạy hơn 1200 cơ sở dữ liệu (chủ yếu là người thuê đơn, một số người thuê nhiều). Trước khi bất cứ ai giảng về việc chuyển sang chỉ nhiều người thuê, có những lý do hợp lệ để giữ cấu trúc này ......
- RAM là 16 GB. Sau khi khởi động lại, SQL Server không mất quá nhiều thời gian để quay lại sử dụng 15 GB.
- Các kết nối DB hoạt động là khoảng 80 kết nối - mà chúng tôi cảm thấy khá lành mạnh khi có một nhóm kết nối cho mỗi máy chủ web trên mỗi quy trình - vì vậy chúng tôi không gặp sự cố rò rỉ kết nối.
Chúng tôi đã thử một số thứ trong thời gian không cao điểm: - Chạy DBCC DROPCLEANBUFFERS (với CHECKPOINT) để xóa bộ đệm dữ liệu. Nó không có tác dụng, cũng không xóa bất kỳ việc sử dụng RAM nào). - Chạy FREEPROCCACHE và FREESYSTEMCACHE để xóa các gói truy vấn và bộ nhớ cache được lưu trữ. Không có tác dụng.
Rõ ràng việc khởi động lại SQL Server không lý tưởng trong môi trường sản xuất hoạt động. Chúng tôi đang thiếu một cái gì đó. Bất cứ ai khác đi qua điều này?
CẬP NHẬT: Tháng Tư-28-2012 Vẫn chiến đấu với vấn đề này. Tôi đã giảm bộ nhớ cho SQL Server xuống còn 10 GB, để loại trừ bất kỳ sự tranh chấp nào với HĐH. Tôi đang tiến gần hơn đến việc thu hẹp nó xuống, nhưng cần sự giúp đỡ từ bước tiếp theo.
Đây là những gì tôi tìm thấy, sau khi khởi động lại SQL Server, tệp trang dao động trong khoảng từ 12,3 GB đến 12,5 GB. Nó sẽ giữ cách đó trong nhiều ngày. Tổng số luồng máy chủ sẽ đi ra trong khoảng từ 850 đến 930 - cũng ổn định và nhất quán trong nhiều ngày liên tục (máy chủ sqls ổn định trong khoảng từ 55 đến 85 trong số đó tùy thuộc vào lưu lượng truy cập).
Sau đó, có "một sự kiện". Tôi không biết sự kiện này là gì, tôi không thể nhìn thấy nó trong nhật ký và tôi không thể thấy bất cứ điều gì nhất quán vào ngày trong tuần hoặc thời gian nó xảy ra, nhưng tất cả những điều tuyệt vời mà anh ấy đã nhảy vào 14.1 hoặc 14.2 GB và các chủ đề nhảy đến giữa 1750 và 1785.
Kiểm tra perfom khi điều này xảy ra, hơn 900 trong số các chủ đề đó là sqlserver. Vì vậy, tôi đi đến sp_who2 để xem các luồng này đến từ đâu ... và chỉ có 80 kết nối db được sử dụng.
Vì vậy, .... có ai có bất kỳ ý tưởng nào làm thế nào tôi có thể xác định vị trí phần còn lại của 900 luồng này trên máy chủ SQL không, và họ đang làm gì?
CẬP NHẬT: Tháng Sáu-01-2012 Vẫn chiến đấu với vấn đề. Đối với bất cứ ai đọc điều này vẫn còn, vấn đề với các chủ đề nhảy lên đã được giải quyết. Điều này được gây ra bởi phần mềm sao lưu tự động ComVault. Nó đang tạo ra một luồng cố gắng sao lưu cơ sở dữ liệu không còn ở đó (nó đang duy trì một danh sách các cơ sở dữ liệu trước đó) thay vì chỉ sao lưu cơ sở dữ liệu hiện tại.
Nhưng - vấn đề vẫn còn, và chúng tôi phải khởi động lại mỗi tuần, cho hoặc mất một vài ngày. Làm việc với nhóm Rackspace để xem liệu họ có thể làm sáng tỏ được không.