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. Việc xem xét băng thông và mức tải đến và đi của ứng dụng cũng có thể giúp bạn biết được những gì cần lưu ý trong hoá đơn. Ngoài ra, nếu có 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 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ụ khác nhau, tuỳ thuộc vào mức độ chi tiết mà bạn cần.
Sử dụng công cụ Realtime Database profiler
Công cụ phân tích 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, chỉ số này không bao gồm thông tin trước đây hoặc bất kỳ số liệu thống kê nào về chi phí kết nối và không được 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ụ trình 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ẻ 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 đến 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 theo 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ể đi sâu đủ để 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 từ Google Cloud, bạn có thể sử dụng Trình khám phá chỉ số để 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 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 đến mức độ chi tiết sâu 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 đ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 để 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 |
|
Mạng bị vô hiệu hoá do sử dụng quá mức |
|
Bộ nhớ bị vô hiệu hoá do vượt quá hạn mức |
|
Kết hợp các chỉ số trong biểu đồ trên trang tổng quan để có thông tin chi tiết và thông tin tổng quan hữu ích. Ví dụ: hãy thử các tổ hợp sau:
- Thao tác: Sử dụng chỉ số
io/database_load
để xem mỗi loại thao tác sử dụng bao nhiêu trong tổng số tải cơ sở dữ liệu. Đảm bảo bạn nhómio/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ớ so với giới hạn bộ nhớ Realtime Database. Bạn cũng có thể thêmstorage/disabled_for_overages
để xem ứ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. - Mức hao 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 và tách các yêu cầu đã sử dụng lại vé phiên SSL hiện có bằng bộ lọcreused_ssl_session
. Bạn có thể đo lường điều này dựa trênnetwork/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ố 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ố Realtime Database có sẵn thông qua Cloud Monitoring.
Các 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ể đo lường:
admin
: Các thao tác quản trị như đặt quy tắc và đọc siêu dữ liệu dự án.auth
: Xác minh hoạt động xác thực từ tài khoản dịch vụ hoặc Xác thực Firebase cho một máy khách duy nhất.client_management
: Xử lý việc thêm và xoá các kết nối đồng thời. Việc này 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ừ một REST GET bằngshallow=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ácon
vàonce
từ các ứng dụng khách được kết nối.on_disconnect
: Đăng ký các thao tác ngắt kết nối từ ứng dụng.put
: Xử lý các thao tácset
từ các ứng dụng hoặc thao tác REST PUT.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áctransaction
từ một máy khách.update
: Xử lý các thao tácupdate
hoặ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 việc đá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 (CHO PHÉP, TỪ CHỐI hoặc LỖI). |
Điều chỉnh biểu đồ Cloud Monitoring cho hoạt động đánh giá Quy tắc khi 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. Việc thiết lập và tuỳ chỉnh biểu đồ được đề cập trong phần Theo dõi mức sử dụng cơ sở dữ liệu.
Xem danh sách đầy đủ các chỉ số Realtime Database có sẵn thông qua Cloud Monitoring.