您可以通过几种不同的方式来监控 Firebase Realtime Database 的性能并发现应用中的潜在问题。通过查看应用的传入带宽和传出带宽以及负载量,您还可以大致了解账单上可能会有哪些费用。此外,如果有些地方看起来不正常,清楚地了解数据库操作也不失为一个有用的问题排查途径。
本页面讨论了 Realtime Database 性能监控。如需了解用量监控,请参阅监控数据库用量。
使用 Realtime Database 监控工具
您可以通过几种不同的工具收集有关 Realtime Database 性能的数据,具体取决于所需的细化程度。
使用 Realtime Database 分析器工具
您可以通过 Realtime Database 性能分析器工具实时掌握对数据库执行的读/写操作的大致情况。所提供的报告包含以下方面的信息:每项操作的速度和载荷大小,以及未编入索引的查询。但是,该报告不包含有关连接开销的历史信息或统计数据,并且不能用于估算结算费用。
如需详细了解如何使用分析器工具,请参阅分析您的数据库。
使用 Firebase 控制台
Firebase 控制台中的用量标签页提供了以下方面的信息:访问数据库的并发连接数、当前存储的数据量、传出带宽(包括协议和加密开销)以及数据库在 1 分钟的时间区间内的负载量。虽然用量标签页可让您更精确地全面了解数据库的整体性能,但是您可能无法进行足够深入的分析,来排查潜在的性能问题。
使用 Cloud Monitoring
借助 Google Cloud 提供的 Cloud Monitoring,您可以使用 Metrics Explorer 查看各个性能指标,也可以创建包含图表(显示各种性能指标组合随时间的变化情况)的不同信息中心。Realtime Database 与 Cloud Monitoring 的集成可实现最深层级的细化程度。
如需了解设置 Cloud Monitoring 的步骤,请参阅监控数据库用量。
如需有关使用特定 Cloud Monitoring 指标找出性能问题的提示,请参阅以下各节。
在 Cloud Monitoring 中监控性能
如果您遇到正常运行时间或延迟等性能方面的问题,可能需要使用 Cloud Monitoring 监控以下指标。请注意,所有指标类型的名称前缀均为 firebasedatabase.googleapis.com/
。
指标名称 | 说明 |
---|---|
数据库负载 |
|
因用量超额而停用网络 |
|
因用量超额而停用存储 |
|
综合信息中心里图表中的指标,您就可以挖掘出实用的分析洞见,并掌握总体情况。例如,您可以尝试使用以下指标组合:
- 操作:使用
io/database_load
指标可以了解每种操作类型使用的数据库总负载量。请确保按类型对io/database_load
进行分组以针对不同的操作类型进行问题排查。 - 存储:使用
storage/limit
和storage/total_bytes
可监控您的存储空间利用率(相对于 Realtime Database 存储限制)。您还可以添加storage/disabled_for_overages
以了解您的应用是否遇到了因存储超限而导致的服务中断。 - SSL 开销:借助
network/https_requests_count
,您可监控您的数据库收到了多少 SSL 连接请求,还可使用reused_ssl_session
过滤条件筛选出重复使用了现有 SSL 会话票证的请求。您可以比照network/sent_bytes_count
和network/sent_payload_and_protocol_bytes_count
来衡量此指标,以监控您的应用是否在高效使用 SSL 会话票证。
您也可以通过 Cloud Monitoring 设置提醒,根据 Realtime Database 的指标接收通知。例如,您可以选择在 io/database_load
接近某个特定阈值时收到通知。
请参阅通过 Cloud Monitoring 提供的 Realtime Database 指标的完整列表。
数据库负载的类型
io/database_load
指标还会提供标签,说明是哪种操作类型产生的负载。以下是可能衡量的操作类型:
admin
:管理操作,例如设置规则和读取项目元数据。auth
:通过服务帐号或 Firebase Authentication 对单个客户端进行身份验证。client_management
:处理并发连接的添加和移除,包括在移除时运行断开连接操作。get_shallow
:使用shallow=true
从 REST GET 中检索数据。get
:处理 REST GET 操作。listen
:从关联的客户端获取初始数据以执行on
和once
操作。on_disconnect
:对客户端断开连接的操作进行注册。put
:处理客户端的set
操作或 REST PUT 操作。transaction
:执行来自有条件的 REST 请求的事务或来自客户端的transaction
操作。update
:处理update
操作或 REST PATCH 请求。
在 Cloud Monitoring 中监控安全规则
您还可以分析安全规则评估情况。请注意,所有指标类型的名称前缀均为 firebasedatabase.googleapis.com/
。
指标名称 | 说明 |
---|---|
规则评估 | rules/evaluation_count 。为响应写入或读取请求而执行的 Realtime Database 规则评估的次数。您可以按请求结果(ALLOW、DENY 或 ERROR)来细分该指标。 |
根据需要自定义 Cloud Monitoring 图表以进行规则评估,例如过滤特定的评估结果:ALLOW、DENY 或 ERROR。 如需了解如何设置和自定义图表,请参阅监控数据库用量。
请参阅通过 Cloud Monitoring 提供的 Realtime Database 指标的完整列表。