2

我正在尝试了解和优化 Firebase 实时数据库上的流量。我正在 stackdriver 中构建一些仪表板来帮助我,但我找不到任何io/database_load关于io/utilization.

似乎该io/utilization统计数据是 Firebase 控制台在负载图表中使用的统计数据,但我可以使用一些关于如何解释该io/database_load指标的指导。负载指标似乎比利用率指标更频繁地突破 100%。

任何人都可以帮忙吗?

4

1 回答 1

1

Firebase 实时数据库将其负载因子定义为您尝试在特定时间范围内执行的操作与数据库在该时间范围内可以完成的操作相比的压力。任何超过 100% 的值都意味着数据库无法完成请求的所有操作,并且某些请求正在排队。

如果 >100% 的负载在高峰用户负载期间非常偶尔发生,那么这可能不是问题,因为排队操作可能正是您想要的。

但是,如果由于峰值用户负载而经常看到 >100% 的负载,则需要考虑是否可以降低每个用户的数据压力。如果您已经将其最小化,请考虑如何将用户分片到多个数据库。

如果 >100% 的负载在固定时间循环发生,则通常是由您在数据库上运行的批处理过程引起的,例如夜间备份或其他批量处理操作。如果这是原因,请考虑在 Firebase 可以提供的自动备份上运行此类操作,或者将它们作为更精细的操作运行,并穿插在您的应用的常规使用中。

另见:

于 2020-03-20T14:55:00.567 回答