Dự án hiện tại của tôi sẽ gửi truy vấn đến máy chủ sql liên tục và có thể sử dụng 100% bộ nhớ hoặc CPU.Phát hiện Sử dụng Máy chủ SQL với truy vấn
Làm thế nào tôi có thể kiểm tra nếu máy chủ sắp sử dụng đầy đủ trong một thủ tục lưu trữ để tôi có thể quyết định có nên thực hiện các truy vấn hay không hoặc lưu một số cài đặt trong một bảng để các truy vấn sau đây có thể biết được khối lượng công việc cao và quyết định phải làm gì
Nếu không, làm thế nào tôi có thể ngăn máy chủ SQL sử dụng đầy đủ?
Thông tin thêm về các trường hợp: Ngay bây giờ tôi biết máy chủ thử nghiệm hiện tại của chúng tôi có thể xử lý 40-50 truy vấn mỗi giây (một thủ tục lưu trữ cụ thể). Và bây giờ chúng tôi sẽ quyết định có bao nhiêu truy vấn được gửi đến máy chủ mỗi giây. Nếu chúng ta thiết lập số lượng thậm chí 1 cao hơn dự kiến, về lâu dài, các truy vấn cuối cùng sẽ điền vào bộ nhớ ảo và khách hàng sẽ phải khởi động lại cá thể máy chủ sql của họ theo định kỳ.
kết quả mong đợi (Đối với thợ săn tiền thưởng):
@memory_usage float, @cpu_usage float; /* in percentage */
Bất kỳ ý tưởng được hoan nghênh. Cảm ơn.
Tối ưu hóa sớm là gốc rễ của mọi điều ác. – Andomar
Dựa trên câu hỏi của bạn, tôi nghĩ tôi sẽ quay lại và xem xét một cách tiếp cận thay thế. –
Trước tiên, nếu bạn đang sử dụng hết bộ nhớ ảo trên máy chủ của mình, hãy đảm bảo rằng bản sao của bạn có bộ cài đặt bộ nhớ tối đa. SQL Server là khá tốt trong việc quản lý bộ nhớ cache của nó vì vậy bạn sẽ không bao giờ cần phải khởi động lại cá thể (cho vấn đề cụ thể này) trừ khi bạn đang dùng bộ nhớ mà hệ điều hành cần để hoạt động. Có rất nhiều bài viết hiện có trên bao nhiêu bộ nhớ để lại hệ điều hành, nhưng bạn có thể bắt đầu bằng cách nhìn vào BOL ở đây: http://msdn.microsoft.com/en-us/library/ms178067.aspx. Đó là năm 2012 nhưng tôi không chắc bạn đang sử dụng phiên bản nào. –