Giám sát

Quá trình tối ưu hoá hiệu suất bắt đầu bằng việc xác định các chỉ số chính, thường liên quan đến độ trễ và công suất. Việc bổ sung tính năng giám sát để thu thập và theo dõi các chỉ số này sẽ cho thấy những điểm yếu trong ứng dụng. Dựa vào các chỉ số, bạn có thể tối ưu hoá để cải thiện các chỉ số hiệu suất.

Ngoài ra, nhiều công cụ giám sát cho phép bạn thiết lập cảnh báo cho các chỉ số để bạn nhận được thông báo khi đạt đến một ngưỡng nhất định. Ví dụ: bạn có thể thiết lập cảnh báo để thông báo cho bạn khi tỷ lệ phần trăm yêu cầu không thành công tăng hơn X% so với mức bình thường. Các công cụ giám sát có thể giúp bạn xác định hiệu suất bình thường và xác định mức tăng đột biến bất thường về độ trễ, số lượng lỗi và các chỉ số chính khác. Khả năng giám sát các chỉ số này đặc biệt quan trọng trong các khung thời gian quan trọng của doanh nghiệp hoặc sau khi mã mới được đưa vào phiên bản chính thức.

Xác định chỉ số độ trễ

Đảm bảo rằng bạn giữ cho giao diện người dùng có khả năng thích ứng cao nhất có thể, lưu ý rằng người dùng mong đợi tiêu chuẩn cao hơn nữa từ ứng dụng di động. Bạn cũng nên đo lường và theo dõi độ trễ cho các dịch vụ phụ trợ, đặc biệt là vì độ trễ có thể dẫn đến các vấn đề về thông lượng nếu không được kiểm tra.

Sau đây là các chỉ số bạn nên theo dõi:

  • Thời lượng yêu cầu
  • Thời lượng yêu cầu ở mức độ chi tiết của hệ thống con (chẳng hạn như lệnh gọi API)
  • Thời gian làm việc

Xác định các chỉ số về công suất xử lý

Thông lượng là thước đo tổng số yêu cầu được phân phát trong một khoảng thời gian nhất định. Thông lượng có thể chịu ảnh hưởng của độ trễ của hệ thống con, vì vậy, bạn có thể cần tối ưu hoá độ trễ để cải thiện thông lượng.

Sau đây là một số chỉ số bạn nên theo dõi:

  • Số truy vấn mỗi giây
  • Kích thước dữ liệu được chuyển mỗi giây
  • Số thao tác I/O mỗi giây
  • Mức sử dụng tài nguyên, chẳng hạn như mức sử dụng CPU hoặc bộ nhớ
  • Kích thước của công việc tồn đọng trong quá trình xử lý, chẳng hạn như pub/sub hoặc số lượng luồng

Không chỉ là giá trị trung bình

Một sai lầm phổ biến khi đo lường hiệu suất là chỉ xem xét trường hợp trung bình. Mặc dù hữu ích, nhưng chỉ số này không cung cấp thông tin chi tiết về mức phân phối độ trễ. Chỉ số tốt hơn để theo dõi là phân vị hiệu suất, ví dụ: phân vị thứ 50, 75, 90 và 99 cho một chỉ số.

Nhìn chung, bạn có thể tối ưu hoá theo hai bước. Trước tiên, hãy tối ưu hoá cho độ trễ ở phân vị thứ 90. Sau đó, hãy xem xét phân vị thứ 99 (còn gọi là độ trễ đuôi): phần nhỏ các yêu cầu mất nhiều thời gian hơn để hoàn tất.

Giám sát phía máy chủ để xem kết quả chi tiết

Bạn nên ưu tiên lập hồ sơ phía máy chủ để theo dõi các chỉ số. Phía máy chủ thường dễ đo lường hơn, cho phép truy cập vào dữ liệu chi tiết hơn và ít bị ảnh hưởng bởi các vấn đề về kết nối.

Giám sát trình duyệt để có được khả năng hiển thị toàn diện

Nếu việc tích hợp Google Ads API của bạn cung cấp giao diện người dùng web cho người dùng cuối, thì việc lập hồ sơ trình duyệt có thể cung cấp thêm thông tin chi tiết về trải nghiệm người dùng. Công cụ này có thể cho biết trang nào có yêu cầu chậm, sau đó bạn có thể liên kết với tính năng giám sát phía máy chủ để phân tích thêm.

Google Analytics cũng cung cấp tính năng giám sát sẵn có cho thời gian tải trang trong báo cáo Thời gian của trang của Analytics. Điều này cung cấp một số chế độ xem hữu ích để hiểu trải nghiệm người dùng trên trang web của bạn, cụ thể là:

  • Thời gian tải trang
  • Thời gian tải lệnh chuyển hướng
  • Thời gian phản hồi của máy chủ

Giám sát trên đám mây

Bạn có thể sử dụng nhiều công cụ để thu thập và giám sát các chỉ số hiệu suất cho ứng dụng của mình. Ví dụ: bạn có thể sử dụng Cloud Logging để ghi lại các chỉ số hiệu suất vào dự án trên đám mây, sau đó thiết lập trang tổng quan trong Google Cloud Monitoring để theo dõi và phân đoạn các chỉ số đã ghi lại.

Hãy tham khảo Hướng dẫn ghi nhật ký để xem ví dụ về trình chặn ghi nhật ký gRPC tuỳ chỉnh được viết cho thư viện ứng dụng Python. Trong ví dụ đó, trình chặn gọi logger.log_struct() để gửi một từ điển Python chứa dữ liệu nhật ký có cấu trúc đến Cloud Logging. Sau đó, Cloud Logging sẽ lưu trữ dữ liệu này trong trường jsonPayload của mục nhập nhật ký:

logger.log_struct({
    "method": method_name,
    "elapsed_ms": elapsed_milliseconds,
    "is_fault": is_fault,
})

Khi có dữ liệu đó trong Google Cloud, bạn có thể xây dựng các chỉ số dựa trên dữ liệu đã ghi nhật ký để có được thông tin chi tiết về ứng dụng của mình thông qua Google Cloud Monitoring. Làm theo hướng dẫn về chỉ số dựa trên nhật ký do người dùng xác định để tạo chỉ số bằng cách sử dụng nhật ký được gửi đến Google Cloud Logging.

Ngoài ra, bạn có thể sử dụng thư viện ứng dụng Cloud Monitoring để xác định các chỉ số trong mã và gửi trực tiếp đến Monitoring, tách biệt với nhật ký.

Ví dụ về chỉ số dựa trên nhật ký

Giả sử bạn muốn theo dõi giá trị is_fault để hiểu rõ hơn về tỷ lệ lỗi trong ứng dụng. Vì logger.log_struct() ghi các trường từ điển có cấu trúc trong jsonPayload trong mỗi mục nhập nhật ký Cloud Logging, nên bạn có thể tạo một chỉ số bộ đếm có tên là ErrorCount bằng một bộ lọc khớp với các yêu cầu không thành công, chẳng hạn như jsonPayload.is_fault = true.

Trong Cloud Logging, nhãn cho phép bạn nhóm các chỉ số thành các danh mục dựa trên dữ liệu khác trong nhật ký. Bạn có thể định cấu hình nhãn STRING có tên là Method trên trường jsonPayload.method được gửi đến Cloud Logging để phân tích số lỗi theo phương thức Google Ads API.

Sau khi định cấu hình chỉ số ErrorCount và nhãn Method, bạn có thể tạo biểu đồ mới trong Cloud Monitoring để theo dõi ErrorCount, được nhóm theo Method.

Cảnh báo

Trong Cloud Monitoring và các công cụ khác, bạn có thể định cấu hình chính sách cảnh báo để chỉ định thời điểm và cách thức kích hoạt cảnh báo dựa trên các chỉ số của bạn. Để biết hướng dẫn về cách thiết lập cảnh báo của Cloud Monitoring, hãy làm theo hướng dẫn về cách cảnh báo dựa trên chỉ số dựa trên nhật ký.