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

10 câu hỏi thường gặp hàng đầu về giám sát hiệu suất máy chủ SQL

Giám sát hiệu suất SQL Server được nhiều quản trị viên cơ sở dữ liệu coi là trách nhiệm quan trọng nhất của họ. Do các máy chủ hoạt động kém có thể tác động tiêu cực đến không chỉ các hoạt động nội bộ mà còn cả các ứng dụng dành cho khách hàng, việc theo dõi hiệu suất SQL và giảm thiểu sự cố nhanh chóng là rất quan trọng đối với sự thành công và lợi nhuận của công ty.

Khi nhiều tổ chức chuyển sang sử dụng SQL Server, các DBA ngày càng tìm kiếm các nguồn lực để giúp họ thực hiện một chiến lược giám sát hiệu suất vững chắc. Có rất nhiều tài liệu có sẵn để giúp các DBA bắt đầu theo dõi hiệu suất SQL Server của họ, nhưng có một số câu hỏi phổ biến mà hầu hết mọi DBA đều muốn có câu trả lời nhanh. Dưới đây là câu trả lời cho 10 câu hỏi giám sát hiệu suất SQL Server thường gặp nhất.

Giám sát hiệu suất SQL Server là gì?

Mục đích chính của việc giám sát hiệu suất SQL Server là để đảm bảo hiệu suất nhất quán và tính sẵn sàng cao của các phiên bản SQL Server. Giám sát hiệu suất là một quy trình gồm hai phần và cả hai phần đều cần thiết để duy trì hệ thống của bạn hoạt động tối ưu:

  • Giám sát: Theo dõi một loạt các chỉ số hiệu suất dựa trên các ngưỡng đặt trước để xác định hành vi bất thường và cung cấp cơ chế thông báo cho DBA bằng các cảnh báo cụ thể cho sự cố và cung cấp đủ ngữ cảnh để bắt đầu quá trình chẩn đoán.

  • Chẩn đoán: Quy trình làm việc và các công cụ cần thiết để thiết lập nguồn gốc của vấn đề hiệu suất và dữ liệu cần thiết để khắc phục sự cố tức thì.

  • Phân tích nguyên nhân gốc rễ: Những hiểu biết sâu sắc để xem xét bên ngoài các triệu chứng và xác định các vấn đề cơ bản đã gây ra vấn đề và có thể khiến nó tái diễn.

  • Phân tích xu hướng: Xem xét hiệu suất trong khoảng thời gian dài. Sử dụng phân tích xu hướng để xác định các vấn đề trước khi chúng xảy ra, do đó, phân biệt giữa các vấn đề một lần và các vấn đề lặp lại hoặc để kiểm tra ranh giới khối lượng công việc theo thời gian. Phần sau có thể được sử dụng để dự đoán nhu cầu cơ sở hạ tầng trong tương lai, thông báo cho các nỗ lực hợp nhất hoặc kích thước phù hợp cho việc di chuyển đám mây theo kế hoạch.

Công cụ giám sát hiệu suất cơ sở dữ liệu nào tốt nhất?

Số lượng cơ sở dữ liệu mà một DBA chịu trách nhiệm làm cho việc giám sát và chẩn đoán thủ công trở nên không thực tế — thậm chí có thể là không thể. May mắn thay, các giải pháp phần mềm giám sát hiệu suất mới nhất được trang bị rất nhiều tính năng để giúp quản lý việc giám sát hiệu suất, ngay cả trên quy mô lớn:

  • Quản lý báo thức hiệu quả: Ưu tiên các cảnh báo có nghĩa là bạn có thể giải quyết các vấn đề lớn trước và bỏ qua các cảnh báo sai.

  • Chẩn đoán toàn diện: Các công cụ giám sát hiệu suất tốt nhất cho phép bạn đi sâu vào chẩn đoán. Biết có vấn đề không hữu ích bằng biết cách khắc phục.

  • Thời gian nhanh chóng để định giá: Mỗi phiên bản thu thập hàng trăm số liệu và việc lưu trữ chúng tại chỗ sẽ rất tốn kém. Hãy xem xét một trong các giải pháp giám sát hiệu suất SaaS để tiết kiệm chi phí và khả năng mở rộng.

  • Phân tích: Phân tích mạnh mẽ là điểm khác biệt chính giữa các công cụ giám sát hiệu suất. Để có tác động tối đa đến hiệu suất, hãy chọn một công cụ cung cấp các chỉ số mở rộng cho khối lượng công việc, kế hoạch truy vấn, nguyên nhân gốc rễ cảnh báo và chặn.

  • Theo dõi dữ liệu lịch sử: Tìm kiếm một công cụ giám sát hiệu suất giúp lưu dữ liệu lịch sử. Điều này sẽ tăng tốc độ khắc phục sự cố vì bạn sẽ biết liệu sự cố có lặp lại hay không và sự cố đang theo dõi như thế nào theo thời gian.

  • Điều chỉnh và tối ưu hóa kế hoạch truy vấn: Một công cụ có trí thông minh nhân tạo tích hợp sẽ cho phép bạn tinh chỉnh các truy vấn và tối ưu hóa chúng cho một trường hợp cụ thể.

  • Kiểm tra sức khỏe: Kiểm tra sức khỏe giám sát các dấu hiệu quan trọng của SQL Server để cho bạn biết bạn có thể gặp sự cố — đôi khi trước cả khi sự cố tồn tại.

Nếu bạn muốn một công cụ có tất cả các tính năng được thảo luận ở trên, bạn sẽ cần phải xem xét một trong các giải pháp giám sát hiệu suất SQL Server hướng trên nền tảng đám mây. Chưa từng có về khả năng mở rộng, tính linh hoạt và giá cả, các công cụ giám sát này cung cấp một nền tảng giám sát hiệu suất an toàn để đáp ứng mọi nhu cầu.

Cách tốt nhất để tối ưu hóa việc giám sát hiệu suất cơ sở dữ liệu là gì?

Một trong những cách tốt nhất để tối ưu hóa việc giám sát hiệu suất là tự động hóa. Tự động hóa các tác vụ thông thường — chẳng hạn như giám sát dung lượng đĩa, kiểm tra nhật ký lỗi và xác minh các bản sao lưu cơ sở dữ liệu — sẽ đảm bảo các tác vụ này được hoàn thành, giúp DBA có thêm thời gian để thực hiện công việc có giá trị cao hơn.

Ngoài ra, bạn có thể triển khai những điều sau để tối ưu hóa việc giám sát hiệu suất SQL Server của mình:

  • Giám sát di động: Giám sát di động có sẵn từ các thiết bị Android và iOS của bạn. Cung cấp bản đồ nhiệt, cảnh báo thông minh và danh sách cảnh báo, theo dõi hiệu suất trên thiết bị di động cho phép bạn chẩn đoán sự cố và bắt đầu phân tích từ bất cứ đâu.

  • Điều chỉnh và tối ưu hóa truy vấn: Điều chỉnh hiệu suất cho phép bạn trực quan hóa, phân tích và tối ưu hóa các kế hoạch thực thi và truy vấn SQL của mình bằng cách làm nổi bật các toán tử chi phí cao nhất, đưa ra các bản sửa lỗi được đề xuất cho các vấn đề và viết lại / tối ưu hóa các truy vấn và kế hoạch truy vấn của bạn.

  • Kiểm tra sức khỏe: Kiểm tra tình trạng giúp bạn tối ưu hóa việc giám sát hiệu suất của mình bằng cách xác định các vấn đề sức khỏe trong mỗi phiên bản SQL Server, bao gồm cả thời gian chờ lâu và độ trễ I / O. Kiểm tra sức khỏe cũng cung cấp dữ liệu lịch sử, vì vậy bạn có thể theo dõi các vấn đề về hiệu suất theo thời gian.

Tôi nên chọn công cụ giám sát SQL Server như thế nào?

Có hai cân nhắc chính khi quyết định sử dụng công cụ giám sát hiệu suất SQL Server.

Bạn đang tìm kiếm loại công cụ nào?

Có ba loại công cụ giám sát hiệu suất chính cần xem xét:

  • Tùy chỉnh / xây dựng trong nhà: Trong trường hợp này, hãy nhớ rằng không phải lúc nào bạn cũng có thể làm được điều gì đó có nghĩa là bạn nên làm. Có, bạn có thể kết hợp một công cụ giám sát hiệu suất nội bộ để thu thập các chỉ số bằng PerfMon, dấu vết, DMV và XEvents. Nhưng nhược điểm vượt trội hơn nhiều so với ưu điểm của việc đi theo tuyến đường này. Nó không thể mở rộng, vì vậy khi các phiên bản của bạn tăng lên, khả năng giám sát hiệu suất của bạn sẽ bị ảnh hưởng. Ngoài ra, không thể theo dõi tất cả những thứ bạn cần xem để đảm bảo hiệu suất SQL Server tối ưu. Một khi bạn bắt đầu thu thập dữ liệu, bạn phải lưu trữ nó ở đâu đó để nó hữu ích và điều đó có thể tốn kém. Điểm mấu chốt - việc bạn dành thời gian quý báu của mình để xây dựng và duy trì một công cụ giám sát hiệu suất có giá trị hơn không hay dành nó để sửa và điều chỉnh khối lượng công việc quan trọng của sứ mệnh.

  • Nguồn mở / miễn phí: Đây có thể là một lựa chọn tốt hơn so với việc tạo giải pháp giám sát hiệu suất của riêng bạn, nhưng vẫn có những hạn chế. Mặc dù bạn có được một chút tùy chỉnh, nhưng bạn vẫn thiếu phạm vi phủ sóng và cảnh báo được định cấu hình trước. Bạn cũng sẽ cần cung cấp không gian lưu trữ dữ liệu của riêng mình. Đó là một quá trình phức tạp để xây dựng một công cụ có thể thu thập một cách hiệu quả lượng lớn dữ liệu hiệu suất mà không ảnh hưởng đến máy chủ được giám sát, đặt ngưỡng thích hợp cho hàng trăm chỉ số, quản lý khối lượng lớn dữ liệu được thu thập và sau đó cập nhật điều này từ một phiên bản của Máy chủ SQL tiếp theo. Tập trung thời gian của bạn vào việc giải quyết vấn đề chứ không phải xây dựng hệ thống giám sát hiệu suất. Nếu bạn phụ thuộc vào các bản cập nhật cộng đồng, hỗ trợ cho các phiên bản mới của nền tảng cơ sở dữ liệu có thể làm chậm quá trình phát hành của nó.

  • Thương mại: Các công cụ giám sát hiệu suất SQL thương mại cung cấp một loạt các tính năng và mức độ tùy chỉnh, và nhiều công cụ có giá cả phải chăng một cách đáng ngạc nhiên. Các công cụ thương mại tạo điều kiện thuận lợi cho việc theo dõi hiệu suất với các tùy chọn như kiểm tra sức khỏe, quản lý cảnh báo, chẩn đoán hiệu suất và khả năng giám sát trên thiết bị di động — những tính năng mà bạn sẽ không nhận được từ các công cụ miễn phí hoặc những công cụ tích hợp sẵn.

Nhu cầu của bạn đối với môi trường cụ thể của bạn là gì?

Trước khi chọn một công cụ giám sát hiệu suất, hãy tự hỏi mình những câu hỏi sau để giúp bạn xác định công cụ đáp ứng nhu cầu cụ thể của mình:

  • Bạn muốn theo dõi bao nhiêu phiên bản?

  • Chúng được sắp xếp chung hay phân tán?

  • Chúng tại chỗ hay trên đám mây (hoặc cả hai)?

  • Bạn có đủ khả năng chi trả một lần cho cơ sở hạ tầng và giấy phép hay bạn cần dàn trải chi phí?

  • Bạn có sẵn cơ sở hạ tầng và các phiên bản cơ sở dữ liệu để cung cấp cho công cụ giám sát không?

  • Bạn có thời gian hoặc nguồn lực nội bộ để xây dựng và duy trì cơ sở hạ tầng giám sát không?

  • Công cụ này có khả năng phân tích khối lượng công việc trên nhiều thứ nguyên ngay lập tức, để giúp bạn tiết kiệm hàng giờ lập kịch bản không?

  • Có khả năng thông minh để phân tích dữ liệu và giúp bạn xác định các vấn đề cụ thể không?

  • Công cụ có cung cấp chẩn đoán tức thì, phương pháp hay nhất hoặc chẩn đoán cho chi tiết liên quan không?

Cách tốt nhất để theo dõi tình trạng hoạt động của cơ sở dữ liệu là gì?

Có một số dấu hiệu Máy chủ SQL của bạn không lành mạnh, bao gồm:

  • Khối lượng công việc chung bị chậm lại

  • Hết thời gian chờ kết nối / truy vấn

  • Sử dụng CPU quá mức

  • Áp suất bộ nhớ

  • Độ trễ đọc / ghi I / O quá mức

  • Nhật ký giao dịch hoặc kích thước TempDB quá mức

Nếu bạn nhận thấy bất kỳ triệu chứng nào trong số này, đã đến lúc thiết lập kiểm tra sức khỏe để đưa hệ thống của bạn trở lại hiệu suất cao nhất. Một số bước ban đầu bạn có thể thực hiện để xác định nguyên nhân của các vấn đề về hiệu suất bao gồm:

  • Thiết lập đường cơ sở về hiệu suất và đo lường dựa trên đó

  • Xác minh các bản sao lưu

  • Kiểm tra các chỉ mục bị thiếu

  • Xác định phần trăm khối lượng công việc là từ các truy vấn đặc biệt

Các số liệu tốt nhất để giám sát hiệu suất SQL Server là gì?

Có hàng trăm chỉ số bạn có thể đo lường để giúp bạn theo dõi và cải thiện hiệu suất, nhưng có một số chỉ số nổi bật nên là một phần của mọi kế hoạch bảo trì SQL Server. Dưới đây là một số lĩnh vực chính cần theo dõi và các chỉ số bạn sẽ muốn theo dõi:

  • Chỉ mục. Chỉ mục là nguồn thường xuyên gây ra các vấn đề về hiệu suất vì cơ sở dữ liệu luôn ở trạng thái thay đổi. Dữ liệu được thêm vào và loại bỏ, và các chỉ mục được thay đổi và xóa, tất cả đều góp phần vào hiệu suất kém. Đây là các chỉ số cần xem:

    • Hệ số lấp đầy
    • I / O
    • Phân mảnh
  • Bộ đệm đệm. Điều quan trọng là phải định cấu hình bộ đệm đệm để tối ưu hóa khoảng thời gian các trang ở đó mà không làm quá nhiều và chiếm bộ nhớ cần thiết ở nơi khác. Đây là các chỉ số cần xem:

    • Tuổi thọ của trang
    • Tỷ lệ truy cập bộ nhớ đệm của bộ đệm
  • T-SQL. Thay vì chạy các câu lệnh SQL đặc biệt, SQL Server phân lô chúng, biên dịch chúng thành một kế hoạch thực thi và lưu trữ chúng vào bộ nhớ cache, biên dịch lại các câu lệnh nếu cần. Việc biên dịch và biên dịch lại quá nhiều có thể làm giảm hiệu suất. Đây là các chỉ số cần xem:

    • Các biên dịch SQL
    • Biên dịch lại SQL
  • Các chỉ số khác cần theo dõi chặt chẽ:

    • Các khóa chờ đợi và các quy trình bị chặn
    • Mức sử dụng CPU

Các vấn đề thường gặp trong giám sát hiệu suất cơ sở dữ liệu là gì?

Điểm nghẽn hiệu suất

Sự tắc nghẽn về hiệu suất biểu hiện dưới dạng cơ sở dữ liệu chậm hoặc không phản hồi. Các nút thắt cổ chai có thể khó xác định vì chúng có thể liên quan đến bộ nhớ, bộ lưu trữ hoặc bộ xử lý. Tuy nhiên, có một số điểm bạn nên tìm kiếm vấn đề trước tiên:

  • Thời gian chờ của WRITELOG
  • THAM GIA ĐĂNG NHẬP NESTED
  • Tranh chấp TempDB

Tuổi thọ trang thấp (PLE)

PLE thấp làm ảnh hưởng đến hiệu suất vì SQL Server phải truy cập vào đĩa thường xuyên hơn để tìm tệp dữ liệu, mất nhiều thời gian hơn so với việc đọc chúng từ bộ đệm ẩn.

Phân mảnh

Kiểm tra các chỉ mục của bạn xem có bị phân mảnh quá nhiều không. Hiệu suất của SQL Server bị ảnh hưởng khi nó phải tìm kiếm các trang rải rác và được lấp đầy một phần để tìm dữ liệu.

Tôi nên thiết lập hệ thống giám sát hiệu suất cơ sở dữ liệu của mình như thế nào?

Khi bạn đã quyết định giải pháp giám sát hiệu suất SQL Server, đã đến lúc bắt đầu và chạy nó. Mặc dù bạn có thể muốn đi sâu vào tất cả các tính năng mới sáng bóng ngay lập tức, nhưng lùi lại một bước và tiếp cận quy trình một cách có phương pháp sẽ giúp đảm bảo bạn đang tận dụng tối đa hệ thống của mình. Dưới đây là một số mẹo để giới thiệu công cụ quản lý hiệu suất mới của bạn:

  • Quyết định trường hợp nào bạn cần chú ý nhất

  • Chạy qua các điều kiện tiên quyết

  • Biết các yêu cầu hệ thống của bạn

  • Tải xuống trình cài đặt

  • Thêm kết nối

Tôi có thể sử dụng những truy vấn nào để giám sát hiệu suất máy chủ SQL?

Các truy vấn bạn sử dụng để theo dõi hiệu suất sẽ khác nhau dựa trên các chỉ số bạn đang theo dõi. Tuy nhiên, việc phát hiện các vấn đề về bộ nhớ, đánh giá chống phân mảnh chỉ mục và xác định thời gian chờ không thể chấp nhận được có thể nằm ở đầu mọi danh sách kiểm tra giám sát hiệu suất của DBA. Tài liệu SQL Server của Microsoft cung cấp thông tin chi tiết về một số truy vấn để giúp bạn triển khai kế hoạch giám sát hiệu suất của mình:

  • Sử dụng bộ nhớ

  • Chống phân mảnh chỉ mục

  • Số liệu thống kê chờ

Các phương pháp giám sát hiệu suất cơ sở dữ liệu tốt nhất là gì?

Một số người không đồng ý với thuật ngữ “các phương pháp hay nhất”, nhưng khi nói đến giám sát hiệu suất SQL Server, không có gì phải bàn cãi rằng DBA phải làm những điều nhất định để giữ cho hệ thống hoạt động tốt và người dùng hài lòng.

Đặt ưu tiên duy trì chỉ mục

Bỏ qua các chỉ mục của bạn là một cách chắc chắn để tạo ra các vấn đề về hiệu suất. Chỉ mục là nguồn gốc của các trình giết hiệu suất phổ biến, bao gồm phân mảnh và tách trang.

Biết khối lượng công việc của bạn

Thật khó để biết khi nào bạn gặp sự cố nếu bạn không biết “bình thường” trông như thế nào. Hãy dành một chút thời gian để tìm hiểu khối lượng công việc của bạn bằng cách đặt những câu hỏi như:

  • Khi nào thì trường hợp này bận nhất?

  • Ứng dụng nào sử dụng phiên bản này?

  • Lần sao lưu cuối cùng là khi nào?

  • Phiên bản này có những thách thức về hiệu suất đã biết không?

Chọn một công cụ giám sát hiệu suất đáp ứng nhu cầu cụ thể của bạn

Trước khi cam kết sử dụng công cụ giám sát hiệu suất SQL Server, trước tiên bạn cần xác định nhu cầu của mình. Khi bạn hiểu những gì bạn đang cố gắng đạt được với công cụ giám sát hiệu suất của mình, bạn có thể tự tin tìm ra giải pháp với các tính năng đáp ứng yêu cầu của mình.

Tìm và khắc phục sự cố tắc nghẽn hiệu suất

Các triệu chứng rõ ràng của tắc nghẽn hiệu suất bao gồm sử dụng quá nhiều bộ nhớ, thời gian chờ lâu, phân mảnh chỉ mục và quá nhiều hoặc quá ít chỉ mục. Tìm và khắc phục những tắc nghẽn này một cách nhanh chóng là một trong những trách nhiệm chính của DBA. Cách tốt nhất để giữ cho hiệu suất cơ sở dữ liệu ở tình trạng cao nhất là triển khai một công cụ giám sát hiệu suất giúp bạn dễ dàng xác định vị trí và khắc phục các điểm nghẽn về hiệu suất cũng như các nguyên nhân làm giảm hiệu suất khác.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:Không tìm thấy trình điều khiển phù hợp cho jdbc:microsoft:sqlserver

  2. lưu trữ tiếng Ả Rập trong cơ sở dữ liệu SQL

  3. Cách ISNUMERIC () hoạt động trong SQL Server

  4. Có gì mới trong SQL Server 2019?

  5. Cách thay thế các giá trị (null) bằng đầu ra 0 trong PIVOT