我正在尝试了解和优化Firebase实时数据库上的流量。我在stackdriver中构建了一些仪表板来帮助我,但是我找不到关于io/database_load
和io/utilization
之间的区别的任何好的信息。
似乎io/utilization
统计信息是Firebase控制台在负载图中使用的统计信息,但我可以使用一些有关如何解释io/database_load
指标的指导。负载指标似乎比利用率指标更频繁地违反100%。
有人可以帮忙吗?
答案 0 :(得分:1)
Firebase实时数据库将其负载因子定义为与数据库在该时间范围内可以完成的操作相比,您在特定时间范围内要尝试执行的操作的压力。任何超过100%的值都意味着数据库无法完成所请求的所有操作,并且某些请求正在排队。
如果在高峰用户负载期间偶发地发生了100%以上的负载,则这可能不是问题,因为排队操作很可能正是您想要的。
但是,如果由于峰值用户负载而经常看到大于100%的负载,则需要考虑是否可以降低每个用户的数据压力。如果已将其最小化,请考虑如何在多个数据库上分片用户。
如果> 100%的负载在固定的时间周期性地发生,则通常是由您在数据库上运行的批处理引起的,例如夜间备份或其他批量处理操作。如果是这种原因,请考虑在Firebase可以提供的自动备份上运行此类操作,或者将其作为更精细的操作(与您的应用的常规使用情况一起使用)运行。
另请参阅: