Trang này được dịch bởi Cloud Translation API.
Switch to English

Cấu hình cơ sở dữ liệu của bạn

Đo lường hiệu suất của Cơ sở dữ liệu thời gian thực Firebase của bạn bằng công cụ trình biên dịch cơ sở dữ liệu, được tích hợp sẵn trong Firebase CLI . Công cụ hồ sơ ghi lại tất cả hoạt động trong cơ sở dữ liệu của bạn trong một khoảng thời gian nhất định, sau đó tạo một báo cáo chi tiết. Sử dụng báo cáo chi tiết để khắc phục sự cố với hiệu suất cơ sở dữ liệu của bạn, phát hiện các khu vực sự cố và giảm các truy vấn không được lập chỉ mục.

Xây dựng hồ sơ

  1. Trước khi bạn bắt đầu cấu hình Cơ sở dữ liệu thời gian thực Firebase của mình, hãy đảm bảo rằng bạn đang sử dụng phiên bản mới nhất của Firebase CLI và bạn đã khởi tạo nó cho cơ sở dữ liệu và dự án mà bạn muốn lập cấu hình. Lưu ý rằng bạn phải là một biên tập viên hoặc chủ sở hữu của dự án đó để lập hồ sơ.

  2. Bắt đầu cấu hình cơ sở dữ liệu của bạn bằng lệnh sau:

    firebase database:profile
    Trình cấu hình hiển thị thông báo trạng thái khi nó ghi lại các hoạt động từ cơ sở dữ liệu của bạn và xây dựng cấu hình.

  3. Nhấn Enter để hoàn thành hồ sơ và hiển thị kết quả.

Diễn giải kết quả của bạn

Công cụ cấu hình tổng hợp dữ liệu được thu thập về hoạt động của cơ sở dữ liệu của bạn và hiển thị kết quả trong ba danh mục chính: tốc độ , băng thôngtruy vấn chưa lập chỉ mục .

Tốc độ

Báo cáo Tốc độ đo thời gian phản hồi của máy chủ (tính bằng mili giây) cho từng loại hoạt động. Tuy nhiên, tốc độ đo được trong Báo cáo tốc độ có thể không thực sự phản ánh trải nghiệm tốc độ của người dùng cuối. Các yếu tố khác nhau, bao gồm điều kiện mạng, có thể thêm độ trễ ở phía máy khách.

Báo cáo Tốc độ bao gồm các thuộc tính sau:

  • Đường dẫn: Đường dẫn trong cơ sở dữ liệu của bạn nơi các hoạt động xảy ra. Nếu có nhiều hơn 25 nút con, công cụ trình biên dịch sẽ thu gọn những nút này thành một đường dẫn cha và thêm một điểm đánh dấu $wildcard . Bạn có thể thấy thư mục gốc của cơ sở dữ liệu của mình trong báo cáo, được biểu thị bằng dấu gạch chéo / .
  • Đếm: Số hoạt động đã xảy ra tại đường dẫn đã cho.
  • Tốc độ thực thi trung bình: Thời gian trung bình máy chủ thực thi logic nghiệp vụ cần thiết để xử lý loại hoạt động cụ thể tại đường dẫn đó. Khoảng thời gian được đo ở đây bắt đầu sau khoảng thời gian được đo bằng "Thời gian chờ trung bình" được mô tả bên dưới.
  • Thời gian chờ trung bình: Thời gian trung bình các yêu cầu được xếp hàng đợi trước khi được thực thi. Sự chậm trễ này là chung cho tất cả các yêu cầu do khách hàng khởi tạo. Tổng thời gian chờ yêu cầu phía máy chủ gần bằng tổng thời gian chờ xử lý và tốc độ thực thi của yêu cầu đó.
  • Quyền bị Từ chối: Số lượng hoạt động tại đường dẫn nhất định đã bị chặn bởi Quy tắc cơ sở dữ liệu Firebase trên cơ sở dữ liệu của bạn.
Báo cáo tốc độ theo loại hoạt động
Đọc tốc độ thực thi Thời gian phản hồi của máy chủ cho các yêu cầu của máy khách để đọc dữ liệu từ cơ sở dữ liệu. Thời gian thực thi đọc thường thay đổi theo số lượng dữ liệu được đọc, nhưng ngay cả một số lần đọc nhỏ cũng có thể bị trì hoãn do tìm nạp trước bộ nhớ cache.
Tốc độ thực thi ghi Thời gian phản hồi của máy chủ đối với các yêu cầu của máy khách để ghi dữ liệu vào cơ sở dữ liệu. Ghi thang thời gian thực hiện với lượng dữ liệu được ghi.
Kết nối tốc độ thực thi Thời gian phản hồi của máy chủ đối với các yêu cầu thiết lập tới máy khách cơ sở dữ liệu. Độ trễ cho các yêu cầu kết nối bị chi phối bởi việc ghi sổ kế toán phía máy chủ trong bộ nhớ liên quan đến quản lý kết nối.
Tốc độ thực thi phát sóng

Khoảng thời gian máy chủ cần để phân phối dữ liệu cho các máy khách lắng nghe đường dẫn nhất định để cập nhật theo thời gian thực.

Thuộc tính Đếm trong Báo cáo tốc độ phát sóng tổng hợp số lượng chương trình phát sóng đã xảy ra, không phải số lượng khách hàng đã nhận được thông tin. Ví dụ: nếu 10 máy khách đang nghe tại một đường dẫn nhất định và máy chủ phát bản cập nhật cho tất cả 10 máy khách, thì số lần phát sóng chỉ phản ánh 1 lần phát sóng, mặc dù 10 máy khách đã nhận được dữ liệu.

Thuộc tính Quyền bị Từ chối không được bao gồm trong báo cáo Tốc độ truyền phát.

Băng thông

Báo cáo băng thông cung cấp thông tin chi tiết về lượng dữ liệu mà cơ sở dữ liệu của bạn sử dụng qua các hoạt động gửi đến và gửi đi. Tuy nhiên, bạn không nên sử dụng Báo cáo băng thông để ước tính thanh toán vì nó không bao gồm băng thông được sử dụng cho các hoạt động khác, chẳng hạn như lập hồ sơ cơ sở dữ liệu của bạn. Báo cáo Băng thông ước tính gần đúng kích thước tải trọng của dữ liệu được sử dụng bởi các hoạt động đọc, ghi và truyền phát đến và đi từ cơ sở dữ liệu của bạn. Đó là một công cụ đo lường hiệu suất, không phải là một công cụ dự báo việc thanh toán.

Báo cáo băng thông bao gồm các thuộc tính sau:

  • Đường dẫn: Đường dẫn trong cơ sở dữ liệu của bạn nơi các hoạt động xảy ra. Nếu có nhiều hơn 25 nút con, công cụ cấu hình sẽ thu gọn chúng thành một đường dẫn cha.

  • Tổng: Tổng số byte gửi đi hoặc gửi đến được sử dụng trên tất cả các thao tác tại đường dẫn nhất định.

  • Đếm: Số hoạt động đã xảy ra tại đường dẫn đã cho.

  • Trung bình: Số byte được tải xuống hoặc tải lên trung bình trong các hoạt động tại đường dẫn đã cho (byte / ghi hoặc byte / đọc).

Báo cáo băng thông
Số byte đã tải xuống Dữ liệu được tiêu thụ thông qua các hoạt động đọc và phát sóng được gửi qua SDK ứng dụng khách và API REST.
Số byte đã tải lên Dữ liệu được sử dụng thông qua các yêu cầu ghi vào máy chủ cơ sở dữ liệu. Xóa hiển thị dưới dạng ghi với 0 byte bên dưới.

Truy vấn không được lập chỉ mục

Các truy vấn chưa lập chỉ mục có thể tốn kém, bởi vì khách hàng tải xuống tất cả dữ liệu tại một vị trí và sau đó thực hiện các truy vấn trên đó. Điều này sử dụng nhiều băng thông hơn mức cần thiết. Giải quyết càng nhiều truy vấn chưa lập chỉ mục càng tốt để tối ưu hóa hiệu suất cơ sở dữ liệu của bạn.

Báo cáo Truy vấn Unindexed hiển thị các thuộc tính sau:

  • Đường dẫn: Đường dẫn trong cơ sở dữ liệu của bạn nơi xảy ra các truy vấn chưa lập chỉ mục.
  • Chỉ mục: Quy tắc bạn nên thêm để giải quyết các truy vấn không được lập chỉ mục. Tìm hiểu thêm về lập chỉ mục trong Lập chỉ mục dữ liệu của bạn .
  • Đếm: Số truy vấn chưa lập chỉ mục đã xảy ra tại đường dẫn nhất định.

Hồ sơ nâng cao

Để xem tất cả các hoạt động mà cơ sở dữ liệu của bạn đang xử lý, hãy sử dụng cờ --raw khi bạn cấu hình cơ sở dữ liệu của mình, như sau:

firebase database:profile --raw

Đầu ra thô cũng bao gồm thông tin khách hàng cho mỗi hoạt động, chẳng hạn như chuỗi userAgent và địa chỉ IP. Tìm hiểu thêm về các hoạt động khác nhau được mô tả trong Cơ sở dữ liệu thời gian thực Firebase của bạn trong Các loại hoạt động cơ sở dữ liệu thời gian thực Firebase .

Công cụ lập hồ sơ: Không phải là công cụ thanh toán

Không sử dụng công cụ cấu hình để ước tính chi phí băng thông. Công cụ hồ sơ nhằm cung cấp cho bạn bức tranh tổng thể về hiệu suất cơ sở dữ liệu của bạn, để giúp bạn theo dõi hoạt động và khắc phục sự cố chứ không phải để ước tính thanh toán. Nó không tính đến lưu lượng mạng, nó chỉ ghi lại ước tính dữ liệu ứng dụng được gửi trong các phản hồi.

Sau đây là một số ví dụ phổ biến về lưu lượng truy cập mạng do Firebase lập hóa đơn không có trong hồ sơ cơ sở dữ liệu của bạn:

  • Chi phí giao thức: Một số lưu lượng bổ sung giữa máy chủ và máy khách là cần thiết để thiết lập và duy trì một phiên. Tùy thuộc vào giao thức cơ bản, lưu lượng truy cập này có thể bao gồm: chi phí giao thức thời gian thực của Cơ sở dữ liệu thời gian thực Firebase, chi phí chung của WebSocket và chi phí tiêu đề HTTP. Mỗi khi kết nối được thiết lập, chi phí này, kết hợp với bất kỳ chi phí mã hóa SSL nào, góp phần vào chi phí kết nối. Mặc dù đây thường không phải là một lượng băng thông lớn, nhưng nó có thể rất đáng kể nếu trọng tải của bạn nhỏ hoặc bạn thực hiện các kết nối ngắn, thường xuyên.
  • Chi phí mã hóa SSL: Có một chi phí liên quan đến chi phí mã hóa SSL cần thiết cho các kết nối an toàn. Trung bình, chi phí này là khoảng 3,5KB cho lần bắt tay đầu tiên và khoảng 40B cho các tiêu đề bản ghi TLS trên mỗi tin nhắn gửi đi. Đối với hầu hết các ứng dụng, đây là một tỷ lệ nhỏ trong hóa đơn của bạn. Tuy nhiên, con số này có thể trở thành một tỷ lệ lớn nếu trường hợp cụ thể của bạn yêu cầu nhiều lần bắt tay SSL. Ví dụ: các thiết bị không hỗ trợ phiếu phiên TLS có thể yêu cầu số lượng lớn các lần bắt tay kết nối SSL.

Đọc thêm về cách hiểu và ước tính hóa đơn của bạn .