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

Có một số cách để theo dõi hiệu suất của Firebase Realtime Database và phát hiện các vấn đề tiềm ẩn trong ứng dụng của bạn. Việc xem xét băng thông đến và băng thông đi của ứng dụng cũng có thể giúp bạn biết được những gì sẽ có trong hoá đơn của mình. Ngoài ra, nếu có điều gì đó không ổn, thì việc nắm rõ 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ề tính năng giám sát hiệu suất của Realtime Database. Để theo dõi mức sử dụng, hãy xem phần Theo dõi 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 thông qua một số công cụ, 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 tài nguyên Realtime Database

Công cụ trình phân tích tài nguyên 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 của bạn. 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, công cụ này không bao gồm thông tin trong quá khứ hoặc bất kỳ số liệu thống kê nào về mức hao tổn kết nối và không nên dùng để ước tính chi phí được lập hoá đơn.

Để tìm hiểu thêm về cách sử dụng công cụ phân tích, 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ẻ Usage (Mức sử dụng) trong bảng điều khiển Firebase cung cấp thông tin về các 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à mức hao tổn mã hoá) cũng như tải của cơ sở dữ liệu trong khoảng thời gian 1 phút. Mặc dù thẻ Usage (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 xem chi tiết được để khắc phục các vấn đề tiềm ẩn về hiệu suất.

Sử dụng Cloud Monitoring

Với Cloud Monitoring của Google Cloud, bạn có thể sử dụng Metrics Explorer để xem từng chỉ số hiệu suất hoặc tạo nhiều trang tổng quan có biểu đồ hiển thị nhiều kiểu kết hợp chỉ số hiệu suất theo thời gian. Việc tích hợp Realtime Database với Cloud Monitoring mang lại mức độ chi tiết cao nhất.

Các bước thiết lập Cloud Monitoring được mô tả trong phần Theo dõi 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ố Cloud Monitoring cụ thể nhằm phát hiện vấn đề về hiệu suất.

Theo dõi hiệu suất trong Cloud Monitoring

Nếu 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ể sử dụng Cloud Monitoring để theo dõi 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ả
Tải cơ sở dữ liệu

io/database_load. Hãy sử dụng chỉ số này để theo dõi lượng băng thông cơ sở dữ liệu hiện có đang được dùng để xử lý các yêu cầu theo thời gian. Bạn có thể gặp phải các vấn đề về hiệu suất khi tải cơ sở dữ liệu gần đạt đến tổng băng thông hiện có. Bạn cũng có thể xem loại thao tác nào đang sử dụng nhiều 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 cô đọng thành khoảng thời gian báo cá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ố ngừng hoạt động có thể xảy ra nếu Realtime Database của bạn vượt quá giới hạn băng thông hoặc mạng.

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ố ngừng hoạt động có thể xảy ra nếu Realtime Database của bạn vượt quá hạn mức bộ nhớ.

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 mức tải cơ sở dữ liệu mà mỗi loại thao tác sử dụng. 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/limit và storage/total_bytes để theo dõi mức sử dụng bộ nhớ của bạn so với hạn mức bộ nhớ của Realtime Database. Bạn cũng có thể thêm storage/disabled_for_overages để xem ứng dụng của bạn có gặp phải thời gian ngừng hoạt động do vượt quá hạn mức bộ nhớ hay không.
  • Phí tổn SSL: Sử dụng network/https_requests_count để theo dõi 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, đồng thời tách riêng 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 so với network/sent_bytes_count và network/sent_payload_and_protocol_bytes_count để theo dõi 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 các chỉ số của Realtime Database. Ví dụ: bạn có thể chọn nhận thông báo nếu io/database_load của bạn sắp đạt đến một ngưỡng nhất định.

Xem danh sách đầy đủ các chỉ số của Realtime Database có trong Cloud Monitoring.

Loại tải cơ sở dữ liệu

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

  • admin: Các thao tác quản trị như đặt quy tắc và đọc siêu dữ liệu của dự án.
  • auth: Xác minh việc xác thực từ tài khoản dịch vụ hoặc Firebase Authentication cho một ứng dụng 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 GET REST.
  • listen: Truy xuất dữ liệu ban đầu cho các thao tác on và once từ các ứng dụng đã kết nối.
  • on_disconnect: Đăng ký thao tác ngắt kết nối từ ứng dụng.
  • put: Xử lý các thao tác set từ ứng dụng hoặc thao tác PUT REST.
  • transaction: Thực hiện giao dịch từ các yêu cầu REST có điều kiện hoặc thao tác transaction từ ứng dụng.
  • update: Xử lý các thao tác update hoặc yêu cầu REST PATCH.

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

Bạn cũng có thể phân tích kết quả đá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ơ 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ể phân tích 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 cho phù hợp với kết quả đánh giá Quy tắc nếu cần, ví dụ: bằng cách lọc theo kết quả đánh giá cụ thể, CHO PHÉP, TỪ CHỐI hoặc LỖI. Cách thiết lập và tuỳ chỉnh biểu đồ được đề cập trong phần 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ó trong Cloud Monitoring.