Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

5 thủ thuật để đảm bảo hiệu suất cao nhất của máy chủ SQL

Các quản trị viên cơ sở dữ liệu đội rất nhiều mũ hậu trường — từ lập kế hoạch năng lực đến bảo mật cho đến khôi phục dữ liệu. Có lẽ dễ thấy nhất về trách nhiệm của DBA là giám sát hiệu suất SQL Server. Mặc dù các nhiệm vụ hàng ngày liên quan đến việc duy trì một hệ thống hoạt động hiệu quả có thể không được thế giới bên ngoài chú ý, nhưng bạn nên tin rằng mọi người sẽ bắt đầu chú ý khi hiệu suất kém hơn mức lý tưởng.

Cơ sở dữ liệu ngừng hoạt động, thời gian phản hồi chậm và các vấn đề khác mà người dùng gặp phải đều có hại cho công việc kinh doanh. Và vì hiệu suất của SQL Server (hoặc thiếu nó) giảm tương ứng trong miền DBA, cơ sở dữ liệu hoạt động kém có hại cho bảo mật công việc của bạn.

Bên cạnh nguy cơ thất nghiệp, việc đảm bảo hiệu suất cao nhất của SQL Server là rất quan trọng đối với khả năng vận hành trơn tru của tổ chức bạn, vì vậy, chúng tôi đã biên soạn năm thủ thuật mà DBA cần biết để tối ưu hóa hiệu suất SQL Server.

Tự động hóa các công việc và bảo trì định kỳ

Ngày nay, có rất ít lý do để một DBA thực hiện nhiều nhiệm vụ hàng ngày và kiểm tra bảo trì theo cách thủ công. Các công cụ giám sát hiệu suất SQL Server ngày nay có thể tự động theo dõi dung lượng ổ đĩa, kiểm tra nhật ký lỗi và xác minh các bản sao lưu. Bạn thậm chí có thể thiết lập cảnh báo hệ thống không chỉ cho bạn biết có sự cố mà còn cung cấp thông tin về mức độ nghiêm trọng và loại sự cố.

Một trong những lợi ích chính của các công cụ giám sát này là nhiều tính năng giám sát hiệu suất có thể truy cập được thông qua thiết bị di động của bạn, giúp việc khắc phục sự cố linh hoạt hơn nhiều. Bạn có thể giám sát và phân loại hệ thống của mình từ thực tế ở bất kỳ đâu vào bất kỳ lúc nào.

Theo dõi số liệu hiệu suất

Tất nhiên, điều quan trọng đối với các công cụ giám sát hiệu suất SQL Server của bạn là bắt và khắc phục các sự cố hiện tại, nhưng cũng có rất nhiều giá trị trong việc theo dõi hiệu suất trong quá khứ. Theo dõi và phân tích hiệu suất cơ sở dữ liệu theo thời gian giúp bạn xác định xu hướng và dự đoán các vấn đề về hiệu suất trong tương lai. Theo dõi lịch sử hiệu suất cung cấp dữ liệu về hiệu suất tốt hơn hay kém hơn trong một khoảng thời gian nhất định.

Phân tích khối lượng công việc là một cách khác để nhận số liệu hiệu suất giúp bạn cải thiện hiệu suất SQL Server. Chạy phân tích để xác định cách người dùng, cơ sở dữ liệu, máy chủ lưu trữ hoặc câu lệnh SQL đang tác động đến khối lượng công việc của bạn. Nếu bạn cô lập một nguồn đang tác động tiêu cực đến hệ thống, thì việc thực hiện các bước thích hợp để khắc phục sự cố trở nên dễ dàng hơn nhiều.

Xác định nguyên nhân gốc rễ của tắc nghẽn

Như đã nêu ở trên, một khi bạn cô lập nguồn gây ra tắc nghẽn hoặc hiệu suất giết người, thì việc khắc phục sự cố sẽ dễ dàng hơn nhiều. Một số nguyên nhân phổ biến gây tắc nghẽn và các triệu chứng cần đề phòng bao gồm:

  • Sự cố về CPU:Máy chủ SQL đang làm hỏng bộ xử lý
  • Vấn đề về bộ nhớ:Thời gian thực thi truy vấn lâu hơn
  • Vấn đề về bộ nhớ:Hoạt động khắc nghiệt trên đĩa và thời gian chờ đợi lâu trên mỗi I / O
  • Sự cố I / O:Thời gian chờ trên WRITELOG cao so với tổng thời gian chờ

Khi bạn đã xác định được nút thắt cổ chai của mình, có một số bản sửa lỗi bạn có thể thử thường giải quyết các vấn đề về hiệu suất phổ biến, bao gồm:

  • Điều chỉnh SQL Server:Cô lập truy vấn cụ thể đã bị trì hoãn, thời gian chờ cụ thể gây ra sự chậm trễ và tác động về thời gian của tắc nghẽn cổ chai
  • Loại bỏ các chỉ mục lỗi thời và trùng lặp:Tăng tốc độ truy vấn vì trình tối ưu hóa không cần xem xét nhiều chỉ mục khi phân tích hiệu suất truy vấn và xác định kế hoạch.
  • Khắc phục sự phân mảnh:Định kỳ tạo lại hoặc chống phân mảnh các chỉ mục của bạn sẽ cải thiện hiệu suất bằng cách giảm số lượng trang dữ liệu rải rác hoặc được lấp đầy một phần mà SQL Server phải đọc.

Chạy Kiểm tra sức khỏe Hiệu suất Định kỳ

Phòng bệnh hầu như luôn tốt hơn chữa bệnh. Sử dụng kiểm tra sức khỏe để xác định các vấn đề thực tế và tiềm ẩn trong hệ thống. Kiểm tra sức khỏe sẽ giúp bạn xác định các vấn đề về bảo mật, khôi phục sau thảm họa, bộ nhớ, I / O và cấu hình trước khi chúng gây ra các vấn đề lớn về hiệu suất.

Kiểm tra sức khỏe thường xuyên nên bao gồm:

  • Kiểm tra các chỉ mục bị thiếu:Các chỉ mục bị thiếu làm cho SQL Server phản hồi chậm vì nó phải tìm kiếm mọi bản ghi để tìm dữ liệu. Nhưng đừng quá nhanh để chỉ thêm các chỉ mục bị thiếu; thêm các chỉ mục không cần thiết cũng có thể ảnh hưởng tiêu cực đến hiệu suất.
  • Theo dõi mức độ không cân xứng của các truy vấn đặc biệt:Thỉnh thoảng sử dụng các truy vấn đặc biệt không có vấn đề gì. Nhưng khi chúng được sử dụng quá thường xuyên, hiệu suất sẽ bị ảnh hưởng. SQL Server không sử dụng lại các câu lệnh này, do đó, bộ đệm thủ tục bị đầy, khiến bộ đệm đệm xóa dữ liệu. SQL Server sau đó phải đọc dữ liệu từ đĩa (chậm) thay vì từ bộ nhớ.
  • Tìm kiếm thống kê lỗi thời:Trình tối ưu hóa truy vấn SQL Server sử dụng thống kê để tính toán chi phí ước tính của các hoạt động. Số liệu thống kê lỗi thời có thể khiến trình tối ưu hóa truy vấn chọn một kế hoạch thực thi dưới mức tối ưu.

Nâng cấp lên phiên bản SQL Server mới nhất

Điều này có vẻ khá rõ ràng, nhưng nếu bạn chưa có, hãy nâng cấp lên phiên bản SQL Server mới nhất. SQL Server 2000, 2005 và 2008 không còn được phát triển tích cực nữa và các phiên bản mới hơn có rất nhiều tính năng chắc chắn sẽ làm tăng hiệu suất. Các tính năng này bao gồm phiên bản mới nhất của trình tối ưu hóa truy vấn SQL Server, các tập lệnh CPU mới và tất nhiên là các bản sửa lỗi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể liên kết số nhận dạng nhiều phần

  2. Các giới hạn NVARCHAR và VARCHAR trong SQL

  3. SQL Server 2016:Tạo mối quan hệ

  4. Trả lại các thủ tục và hàm đã lưu trữ trong cơ sở dữ liệu máy chủ SQL:ROUTINES (Ví dụ T-SQL)

  5. Làm thế nào để thả cột với ràng buộc?