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

Tìm hiểu khối lượng công việc máy chủ SQL của bạn

Có nhiều yếu tố ảnh hưởng khi nói đến hiệu suất cơ sở dữ liệu. Biết được các biến động bình thường của phiên bản cụ thể của bạn bằng cách theo dõi máy chủ SQL của bạn giúp bạn xác định khi nào hành vi có xu hướng vượt quá tầm kiểm soát và dự đoán các vấn đề trước khi chúng xảy ra.

Nó cũng giúp bạn phân biệt đâu là nỗi đau ngày càng tăng tự nhiên do khối lượng công việc tăng lên hoặc mức tăng đột biến theo mùa có thể yêu cầu nhiều tài nguyên hơn so với các vấn đề hiệu suất sâu hơn yêu cầu điều chỉnh mã, tối ưu hóa chỉ mục hoặc điều chỉnh cấu hình.

Khi bạn đã thiết lập danh sách các máy chủ SQL trong môi trường của mình, bạn sẽ muốn hỏi một số câu hỏi quan trọng:

  • Trường hợp này lành mạnh như thế nào?
  • Lần cuối cùng nó được sao lưu là khi nào?
  • Nó có đủ CPU, bộ nhớ và bộ nhớ để đáp ứng SLA của nó không?
  • Loại khối lượng công việc nào chạy trên phiên bản này?
  • Những ứng dụng và người dùng nào sử dụng phiên bản này?
  • Khi nào khối lượng công việc bận rộn nhất?
  • Có chiến lược chuyển đổi dự phòng không?
  • Đây có phải là trường hợp quan trọng về sứ mệnh không?
  • Nó có cần hoạt động 24/7 không?
  • Phiên bản này có những loại thách thức hiệu suất nào?

Đây có vẻ giống như những câu hỏi hiển nhiên, nhưng nếu bạn bắt đầu theo dõi khối lượng công việc máy chủ SQL của mình lần đầu tiên, bạn sẽ ngạc nhiên và có thể hơi kinh hoàng khi thấy bao nhiêu trong số chúng có vấn đề cơ bản.

Đặt Mục tiêu Hiệu suất để Giám sát Máy chủ SQL

Suy nghĩ về những gì bạn muốn đạt được với nỗ lực giám sát máy chủ SQL của mình và ưu tiên các mục tiêu này. Bằng cách đóng khung các hoạt động của mình theo các chỉ số hiệu suất chính, bạn sẽ dễ dàng hơn trong việc trình bày rõ ràng giá trị của năng lượng và bất kỳ khoản đầu tư nào cần thiết. Danh sách sau đây sẽ giúp bạn bắt đầu.

Tính khả dụng cao

Số liệu thống kê về tình trạng sẵn có của bạn là gì? Hãy nhớ rằng người dùng không có sẵn là khi họ không thể truy cập dịch vụ. Điều này có thể do sự cố hết hoàn toàn hoặc do tắc nghẽn hiệu suất khiến dịch vụ không khả dụng một cách hiệu quả. Bạn có cấu hình luôn bật sẵn không? Nếu vậy, bạn có biết trạng thái của nó không?

Thời gian phản hồi

Từ thời điểm vấn đề được báo cáo, bạn có thể tách nguồn, chẩn đoán các triệu chứng và phản ứng với những vấn đề bị ảnh hưởng nhanh như thế nào?

Thời gian phân giải

Làm thế nào nhanh chóng bạn có thể giải quyết các triệu chứng để khôi phục hoạt động bình thường? Giải pháp "thạch cao dính" là một khởi đầu quan trọng, nhưng không nên đại diện cho sự kết thúc của vấn đề. Bạn đã khám phá nguyên nhân gốc rễ của vấn đề chưa? Bạn có thể tự tin rằng mình sẽ không thấy tái diễn không?

Hiểu chi phí sở hữu các phiên bản máy chủ SQL của bạn

Chi phí sở hữu là một yếu tố quan trọng khi quyết định nơi các phiên bản máy chủ SQL của bạn sẽ cư trú. Điều quan trọng là phải đánh giá chi phí đầu tư trả trước liên quan đến cơ sở hạ tầng và cấp phép, chi phí bảo trì liên tục và bất kỳ chi phí tiêu thụ nào có liên quan đến khối lượng công việc dựa trên đám mây.

Nếu bạn đang cố gắng quyết định phiên bản của mình sẽ có giá bao nhiêu trong đám mây, các chỉ số quan trọng bao gồm mức sử dụng CPU, hoạt động đọc và ghi và bộ nhớ. Bạn sẽ cần phải đo lường những điều này trong một khoảng thời gian dài để tìm ra ranh giới khối lượng công việc của mình nhằm đảm bảo rằng bạn có nguồn lực cho phạm vi khối lượng công việc mà bạn mong đợi cho một trường hợp cụ thể.

Làm quen với các đặc điểm cụ thể của khối lượng công việc chạy trên các phiên bản máy chủ SQL của bạn sẽ đưa bạn vào một vị trí tốt hơn nhiều để đảm bảo mọi thứ tiếp tục chạy như bình thường và đáp ứng cả nhu cầu hiện tại và tương lai của doanh nghiệp bạn.

Nghiên cứu hiệu suất theo thời gian với tính năng giám sát máy chủ SQL

Cơ sở dữ liệu là hệ thống chất lỏng. Rất ít có khối lượng công việc ổn định, lặp đi lặp lại và có thể dự đoán được. Phổ biến hơn là thấy các biến thể rộng theo thời gian dao động dựa trên số lượng người dùng, công việc tự động, số lượng giao dịch, khối lượng dữ liệu, v.v.

Cơ sở dữ liệu bán hàng sẽ bận rộn vào cuối tháng. Nó cũng sẽ chứng kiến ​​sự gia tăng đột biến trong hoạt động xung quanh các sự kiện theo mùa hoặc được thúc đẩy bởi các chương trình khuyến mại tiếp thị.

Phân loại hiệu suất của bạn dựa trên các ảnh chụp nhanh nhỏ không phải là một chính sách tốt. Bạn càng có thể thu thập và phân tích nhiều lịch sử, bạn càng có thể hiểu rõ hơn về các biến thể và ranh giới của từng đặc điểm khối lượng công việc của mình.

Bạn sẽ cần phải đánh giá xem lịch sử có thực tế để lưu giữ hay không và liệu bạn có đủ nguồn lực để xử lý nó hay không. Có những ý nghĩa về chi phí và hiệu suất cần xem xét.

Có được bức tranh hoàn chỉnh để giám sát cơ sở dữ liệu của bạn

Mỗi cơ sở dữ liệu là một hệ thống phức tạp với nhiều phần chuyển động. Nhiều tiêu chí cấu hình có thể ảnh hưởng đến hiệu suất của nó.

Bản thân thiết kế và kiến ​​trúc của cơ sở dữ liệu sẽ ảnh hưởng đến kết quả. Hiệu quả mã cũng có thể tạo ra hoặc phá vỡ hiệu suất. Các tùy chọn cấu hình sẽ xác định cách phiên bản máy chủ SQL sử dụng tài nguyên có sẵn cho nó.

Hãy xem xét tình huống sau:Một phiên bản đang chậm lại và DBA phát hiện thấy một sự gia tăng đột biến trong thời gian chờ CXPACKET hoặc CXCONSUMER. Phản ứng giật đầu gối là để tắt chế độ song song. Sự chờ đợi biến mất và nút thắt hiện tại tạm thời được giải tỏa. Bây giờ toàn bộ phiên bản đang chạy chậm hơn, nhưng DBA không muốn kích hoạt lại chế độ song song. Nếu một số cuộc điều tra sâu hơn đã được thực hiện, nó sẽ cho thấy rằng một truy vấn đang chạy đặc biệt chậm và nguyên nhân là do thiếu chỉ mục.

Theo dõi song song nhiều số liệu khác nhau giúp xác định chính xác nguyên nhân gốc rễ và tránh chẩn đoán sai tốn kém có thể gây ra sự lặp lại hoặc thậm chí leo thang của cùng một vấn đề.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để viết LINQ's .Skip (1000) .Take (100) trong SQL thuần túy?

  2. Ghi đè Trình tối ưu hóa truy vấn cho T-SQL của bạn tham gia với FORCEPLAN

  3. Cách tốt nhất để tự động tạo câu lệnh INSERT cho bảng SQL Server là gì?

  4. Xuất dữ liệu truy vấn SQL sang Excel

  5. Nội tuyến UDF vô hướng trong SQL Server 2019