Theo dõi hiệu suất của cơ sở dữ liệu

Có một vài cách để theo dõi Firebase Realtime Database's hiệu suất và phát hiện các vấn đề tiềm ẩn trong ứng dụng. Việc xem xét băng thông đến và băng thông đi cũng như mức tải của ứng dụng cũng có thể giúp bạn biết trước những thông tin sẽ có trong hoá đơn. Ngoài ra, nếu có điều gì đó không ổn, việc nắm rõ các hoạt động của cơ sở dữ liệu có thể là một công cụ khắc phục sự cố hữu ích.

Trang này thảo luận về việc giám sát hiệu suất của Realtime Database. Để giám sát mức sử dụng, hãy xem bài viết Giám sát mức sử dụng cơ sở dữ liệu.

Sử dụng các công cụ giám sát Realtime Database

Bạn có thể thu thập dữ liệu về hiệu suất của Realtime Database's thông qua một vài công cụ khác nhau, tuỳ thuộc vào mức độ chi tiết mà bạn cần.

Sử dụng công cụ phân tích hiệu suất của Realtime Database

Công cụ phân tích hiệu suất Realtime Database cung cấp thông tin tổng quan theo thời gian thực về các thao tác đọc/ghi trên cơ sở dữ liệu. Báo cáo này bao gồm thông tin về tốc độ và kích thước tải trọng của từng thao tác, ngoài các truy vấn chưa được lập chỉ mục. Tuy nhiên, báo cáo này không bao gồm thông tin cũ hoặc bất kỳ số liệu thống kê nào về chi phí kết nối và không nên dùng để ước tính chi phí thanh toán.

Để tìm hiểu thêm về cách sử dụng công cụ phân tích hiệu suất, hãy xem bài viết Phân tích cơ sở dữ liệu.

Sử dụng bảng điều khiển Firebase

Thẻ Mức sử dụng trong bảng điều khiển Firebase cung cấp thông tin về số lượng kết nối đồng thời với cơ sở dữ liệu, lượng dữ liệu bạn đang lưu trữ, băng thông đi (bao gồm cả giao thức và chi phí mã hoá) và mức tải của cơ sở dữ liệu trong khoảng thời gian 1 phút. Mặc dù thẻ Mức sử dụng cung cấp cho bạn thông tin tổng quan chính xác hơn về hiệu suất tổng thể của cơ sở dữ liệu, nhưng bạn có thể không thể xem chi tiết đủ để khắc phục sự cố về hiệu suất tiềm ẩn.

Sử dụng Cloud Monitoring

Với Cloud Monitoring từ Google Cloud, bạn có thể sử dụng Trình khám phá chỉ số để xem các chỉ số hiệu suất riêng lẻ hoặc tạo nhiều trang tổng quan có biểu đồ hiển thị nhiều tổ hợp chỉ số hiệu suất theo thời gian. Tính năng tích hợp Realtime Database với Cloud Monitoring cung cấp mức độ chi tiết sâu nhất.

Các bước thiết lập Cloud Monitoring được mô tả trong Giám sát mức sử dụng cơ sở dữ liệu.

Hãy xem các phần sau để biết mẹo sử dụng các chỉ số cụ thể của Cloud Monitoring nhằm phát hiện các vấn đề về hiệu suất.

Giám sát hiệu suất trong Cloud Monitoring

Nếu bạn đang gặp vấn đề về hiệu suất, bao gồm cả thời gian hoạt động hoặc độ trễ, bạn có thể muốn sử dụng Cloud Monitoring để giám sát các chỉ số sau. Xin lưu ý rằng tất cả tên loại chỉ số đều có tiền tố firebasedatabase.googleapis.com/.

Tên chỉ số Mô tả
Mức tải cơ sở dữ liệu

io/database_load. Sử dụng chỉ số này để giám sát lượng băng thông cơ sở dữ liệu có sẵn đang được sử dụng để xử lý các yêu cầu theo thời gian. Bạn có thể gặp vấn đề về hiệu suất khi mức tải cơ sở dữ liệu của bạn tiến gần đến tổng băng thông có sẵn. Bạn cũng có thể xem loại thao tác nào đang sử dụng nhiều mức tải nhất, và khắc phục sự cố cho phù hợp. Mức tải được báo cáo có thể vượt quá 100% đối với các thao tác mất hơn một phút. Điều này xảy ra khi tổng băng thông được sử dụng trong nhiều phút được nén thành khoảng thời gian báo cáo kéo dài một phút sau khi thao tác hoàn tất.

Mạng bị vô hiệu hoá do vượt quá hạn mức

network/disabled_for_overages. Chỉ số này phản ánh mọi sự cố có thể xảy ra nếu Realtime Database vượt quá bất kỳ hạn mức băng thông hoặc mạng nào.

Bộ nhớ bị vô hiệu hoá do vượt quá hạn mức

storage/disabled_for_overages. Chỉ số này phản ánh mọi sự cố có thể xảy ra nếu Realtime Database vượt quá bất kỳ hạn mức bộ nhớ nào.

Kết hợp các chỉ số trong biểu đồ trên trang tổng quan để có thông tin chi tiết hữu ích và thông tin tổng quan. Ví dụ: hãy thử các tổ hợp sau:

  • Thao tác: Sử dụng chỉ số io/database_load để xem lượng mức tải cơ sở dữ liệu tổng thể được sử dụng bởi từng loại thao tác. Hãy nhớ nhóm io/database_load theo loại để khắc phục sự cố cho các loại thao tác khác nhau.
  • Bộ nhớ: Sử dụng storage/limitstorage/total_bytes để giám sát mức sử dụng bộ nhớ liên quan đến hạn mức bộ nhớ của Realtime Database. Bạn cũng có thể thêm storage/disabled_for_overages để xem liệu ứng dụng của bạn có gặp phải thời gian ngừng hoạt động nào do vượt quá hạn mức bộ nhớ hay không.
  • Chi phí SSL: Sử dụng network/https_requests_count để giám sát số lượng yêu cầu kết nối SSL mà cơ sở dữ liệu của bạn nhận được và chia các yêu cầu đã sử dụng lại vé phiên SSL hiện có bằng bộ lọc reused_ssl_session. Bạn có thể đo lường chỉ số này dựa trên network/sent_bytes_countnetwork/sent_payload_and_protocol_bytes_count để giám sát xem ứng dụng của bạn có đang sử dụng vé phiên SSL một cách hiệu quả hay không.

Bạn cũng có thể thiết lập cảnh báo thông qua Cloud Monitoring và nhận thông báo dựa trên Realtime Database chỉ số. Ví dụ: bạn có thể chọn nhận thông báo nếu io/database_load của bạn đang tiến gần đến một ngưỡng nhất định.

Xem danh sách đầy đủ các chỉ số của Realtime Database có sẵn thông qua Cloud Monitoring.

Các loại mức tải cơ sở dữ liệu

Chỉ số io/database_load cũng cung cấp nhãn về loại thao tác gây ra mức tải. Sau đây là các loại thao tác có thể đo lường:

  • admin: Các thao tác quản trị như thiết lập quy tắc và đọc siêu dữ liệu dự án.
  • auth: Xác minh quá trình xác thực từ tài khoản dịch vụ hoặc Firebase Xác thực cho một máy khách.
  • client_management: Xử lý việc thêm và xoá các kết nối đồng thời bao gồm cả việc chạy các thao tác ngắt kết nối khi xoá.
  • get_shallow: Truy xuất dữ liệu từ REST GET bằng shallow=true.
  • get: Xử lý các thao tác REST GET.
  • listen: Truy xuất dữ liệu ban đầu cho các thao tác ononce từ các máy khách được kết nối.
  • on_disconnect: Đăng ký các thao tác ngắt kết nối từ máy khách.
  • put: Xử lý các thao tác set từ máy khách hoặc các thao tác REST PUT.
  • transaction: Thực hiện các giao dịch từ các yêu cầu REST có điều kiện hoặc thao tác transaction từ máy khách.
  • update: Xử lý các thao tác update hoặc các yêu cầu REST PATCH.

Giám sát Quy tắc bảo mật trong Cloud Monitoring

Bạn cũng có thể phân tích quá trình đánh giá Quy tắc bảo mật. Xin lưu ý rằng tất cả tên loại chỉ số đều có tiền tố firebasedatabase.googleapis.com/.

Tên chỉ số Mô tả
Đánh giá quy tắc rules/evaluation_count. Số lần đánh giá Quy tắc của Cơ sở dữ liệu theo thời gian thực được thực hiện để phản hồi các yêu cầu ghi hoặc đọc. Bạn có thể chia nhỏ chỉ số này theo kết quả của yêu cầu (ALLOW, DENY hoặc ERROR).

Điều chỉnh biểu đồ Cloud Monitoring của bạn cho quá trình đánh giá Quy tắc khi cần, chẳng hạn như bằng cách lọc theo các kết quả đánh giá cụ thể, ALLOW, DENY hoặc ERROR. Việc thiết lập và tuỳ chỉnh biểu đồ được trình bày trong bài viết Giám sát mức sử dụng cơ sở dữ liệu.

Xem danh sách đầy đủ các chỉ số của Realtime Database có sẵn thông qua Cloud Monitoring.