CPU cao SQL Server 2008 R2


7

Chúng tôi đang có cơ sở dữ liệu SQL Server R2 Web Edition, dựa trên Windows Server 2008 R2 với CPU mạnh và 32GB RAM DDR3.

Cơ sở dữ liệu của chúng tôi hoạt động rất chăm chỉ (chúng tôi chạy khoảng 600.000 truy vấn trong 1 phút) và CPU của nó đang phát điên (25% đến 90%).

Tôi đang tìm kiếm các truy vấn chậm, tìm thấy một số, sửa chúng, một số khác tôi vừa hủy để kiểm tra xem nó có giúp ích gì không, nhưng không được, CPU vẫn còn rất cao.

Tôi đã tự hỏi những gì nó có thể được? Tôi không phải là một DBA, nhưng tôi đang làm việc với một người rất có kinh nghiệm, anh ta tạo ra tất cả các chỉ mục và cấu hình lại DB, nhưng CPU vẫn rất cao và DBA này (với hơn 20 năm thử nghiệm) là loại vô vọng và không thực sự biết làm thế nào để tìm ra vấn đề.

Tôi đã tự hỏi, nó có thể là vấn đề bộ nhớ đệm? như thế truy vấn không được lưu trữ?

Bất cứ ai biết nó có thể là gì? chúng ta có thể làm gì? Làm thế nào chúng ta có thể điều tra nó?

Có lẽ nó chỉ là số lượng truy vấn cao?

Tôi muốn nhận được từng thông tin nhỏ bạn có thể cung cấp!


6
Tại sao CPU cao bất thường đối với máy chủ nhận 10.000 truy vấn mỗi giây?
usr

Tôi không có ý tưởng, nó là bình thường? Tôi không phải là một DBA, như tôi đã nói. nếu đó là số lượng truy vấn, nếu tôi nâng cấp DB của chúng tôi, nó có giúp được gì không? theo tiêu chuẩn SQL hoặc doanh nghiệp
m0fo

Tôi sẽ khuyên các bạn nên kiểm tra IO trong khi giao dịch trước khi đi xa hơn.

Câu trả lời:


8

Tôi khuyên bạn nên bắt đầu với một phương pháp như Chờ đợi và Xếp hàng . Nhưng với 10k truy vấn mỗi giây, bạn sẽ mong đợi một số CPU sẽ bị cháy. Cho dù đó là hơn nó nên được thực sự khó có thể nói chỉ từ thông tin bạn đưa ra. Phương pháp được liên kết ít nhất sẽ giúp bạn tìm ra các nút thắt cổ chai.

Vụ nổ lớn nhất có lẽ là ... không gửi 10k truy vấn một giây. Cache trong máy khách. Hãy xem cách StackOverflow Cân với SQL Server và xem SE lưu trữ càng nhiều càng tốt trong lớp tầng web trước khi nhấn máy chủ.

Chỉ trong trường hợp, làm một vài DBCC SQLPERF ('SPINLOCKSTATS')và xem nếu có gì nổi bật.


2

Việc sử dụng CPU cao có thể là một trong một vài vấn đề khác:

  1. Có một chỉ số đã bị bỏ (không có kiến ​​thức của bạn)?
  2. Bạn có chỉ số nào không?
  3. Gần đây bạn có thấy việc sử dụng hệ thống cao hơn (nhiều người dùng hơn / nhiều dữ liệu hơn) không?
  4. Hệ thống gần đây đã được khởi động lại (do đó làm trống bộ đệm và gây ra biên dịch lại cho các truy vấn)?
  5. Có một thay đổi truy vấn / thủ tục lưu trữ / chức năng đã được thay đổi (một lần nữa mà bạn không biết)?

Tôi sẽ kiểm tra những thứ này trước khi đi xa hơn.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.