Tôi có một máy chủ với 16 CPU được cấu hình với max degree of parallelism
8 và max worker threads
cài đặt bằng không.
Trong một giờ nhất định, tín hiệu của tôi chờ là 20% nhưng mức sử dụng CPU hệ điều hành của tôi trong thời gian đó không bao giờ vượt quá 25%. Ai đó có thể giải thích tại sao tín hiệu của tôi chờ đợi rất cao?
Nhà cung cấp của tôi có một hệ thống tính điểm tốt nhất trong lớp, dự kiến chúng tôi sẽ ở mức 10% hoặc ít hơn tín hiệu chờ đợi, hoặc chúng tôi bị sứt mẻ. Làm thế nào tôi có thể sửa lỗi này (mà không cần thêm CPU)?
- Chúng tôi không có nhiều hơn 8 CPU cho mỗi nút NUMA, vì vậy Trace Flag 8048 không áp dụng.
- Các trường hợp chờ lớn nhất là
CXPACKET
(70%), sau đóPREEMPTIVE_OS_PIPEOPS
(20%) cost threshold for parallelism
được đặt thành 50. Tôi có nên nuôi nó không? Để làm gì?- Đây là một máy vật lý (không phải VM), dành riêng cho SQL Server.
- Tôi đang sử dụng một công cụ giám sát để xác định các truy vấn và thủ tục chạy thường xuyên nhất. Tôi có muốn xem CPU cao, I / O cao hay thời lượng cao không? Thông thường ứng dụng của chúng tôi là I / O chuyên sâu nên tôi điều chỉnh I / O cao. Nhưng vì vấn đề là tín hiệu chờ, tôi có cần xem CPU cao không?
- Tôi đã hy vọng tránh đề xuất của Max Vernon xuống mức
MAXDOP
4, vì ứng dụng thực hiện một số truy vấn kiểu kho cần các luồng bổ sung.