【问题标题】:Firestore limit on updating data about once per second; why do I seem to be able to go past it?Firestore 每秒更新一次数据的限制;为什么我似乎能够过去呢?
【发布时间】:2018-07-18 02:14:47
【问题描述】:

Firestore documentationquotas chart 表明文档每秒只能更新一次。为什么我似乎能够每秒多次更新文档而没有问题?

我尝试了一个简单的“for循环”,所有写入似乎都通过了:

 const db = firebase.firestore(firebase.app("prjID"));
 for (i = 0; i < 10; i++) {
     console.log(`updating /test/test with test:${i} ${new Date().getMilliseconds()}`);
     db.doc(`/test/test`).update({ test: i });
 }

日志显示:

我想知道当在不到一秒的时间内尝试多次写入操作时,是否有人知道假定的服务器响应,即超出我似乎可以忽略的限制?

如果我遗漏了什么并且限制意味着不同的东西有什么解释吗?

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    每秒写入次数限制为 2,500。这些写入的总限制为 2.5MB。

    每个数据库每秒的最大写入次数(测试版)2,500(最高每秒 2.5 MiB)

    如果您的互联网连接速度足够快,您可以尝试运行该循环超过 2500 次以查看是否出现错误。

    【讨论】:

    • 感谢您的回复,但这是每秒对 db 的最大 wrties,我要求写入一个文档,该文档也在同一张图表中得到解决。干杯
    • @TheeBen 知道了。我为我的误会道歉。我尝试了一个写循环 250 次,并注意到它大约每 10 秒暂停一次。不确定这是否只是我。我最好的猜测是,由于该产品仍处于测试阶段,Firebase 的某个人正在进行一些更改并搞砸了配额。您可以向 Firebase 支持人员发送消息,让他们查看一下。 (不知道你为什么要找出问题所在)。我确实检查了状态页面,Firestore 没有任何问题。
    • np,我怀疑来自 firebase 的某些东西是错误的,但它没有伤害,我会尝试。
    【解决方案2】:

    仅供任何可能对此感到疑惑的人。这不是 Firebase 强制执行的硬限制,而是系统功能的指示。阅读我从 Firebase here 得到的答案。因此,如果您认为您将在短时间内对文档执行数千次写入,那么您应该考虑一下。但是对于这里和那里的一些写入,系统似乎能够及时处理它。

    【讨论】:

    • 如果达到限制,操作会失败还是等待?
    • 正如我所解释的,没有硬性限制,所以据我所知,这只是一个问题,它成为系统处理您的工作与否的机会。就我而言,我每秒最多不会超过 10 或 15 次更新,这似乎没问题。
    • @TheeBen 那么当它失败时会发生什么?数据丢失?
    • 我无法真正提供明确的答案,您最好询问 Firebase 人员,但根据我的经验,您永远不会在实际应用程序中处理此限制,除非您的应用太大了,在这种情况下,我怀疑您是否仍在使用 firebase,或者到那时它们已经超出了预期,或者……您明白了……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    相关资源
    最近更新 更多