【问题标题】:CouchDB - PouchDB sync works but first change is very slowCouchDB - PouchDB 同步有效,但第一次更改非常慢
【发布时间】:2015-11-18 00:32:40
【问题描述】:

简而言之,我的问题是更新 PouchDB 时,会在 5-15 分钟后同步到 CouchDB。同步第一个更改后,以下更改会按预期立即同步。 PouchDB 是一个基于 AngularJS/Cordova 的应用程序,目前仅在 Android 上运行。当登录到应用程序时,会从 CouchDB 创建和复制一系列 PouchDB,这可以按预期工作。然后设置双向连续同步。

此设置在测试和生产系统中都运行,幸运的是它在生产中运行。我在测试和生产环境中比较了 CouchDB 的设置,它们是相同的,复制数据库也是如此。唯一的区别是我的 DNS 记录在测试系统的测试之前(例如 http://testmydbserver.mydomain.dk)。

我的挫败感越来越大,但在寻找答案数小时后,我觉得我已经达到了我的能力极限。 到目前为止,我的最终结论是 Pouch-instance 实际上确实发布了新的修订号,但似乎忽略了丢失的回复。

有没有人遇到过类似的问题并找到了解决方案? 或者有没有人知道在检查代码、重新启动任何东西并分析网络流量几个小时后我可以继续往哪个方向发展?

【问题讨论】:

    标签: couchdb pouchdb


    【解决方案1】:

    我的猜测是没有写入检查点,因此当您从本地同步到远程时,它是从头开始而不是从最后一个检查点开始。

    能否在network选项卡中查看是否有对_local/xxx的PUT操作,即检查点文件?

    另外,如果您可以提供一个实时测试用例,那将非常有帮助。如果您将大量文档从服务器同步到客户端,然后在本地更改文档,然后从客户端同步到服务器,则应该不会花费 5 分钟。

    【讨论】:

    • 非常感谢您的回答。我开始在 Wireshark 中记录该过程供您查看,但是在记录过程中,我突然注意到一个特定的数据库没有像预期的那样响应。事实证明,一个测试数据库正在复制非常大量的数据,这可能是已删除的文档,当我将其删除以更清晰地查看问题时,问题就消失了。此复制必须阻止所有数据库的同步,并且当我刚刚发出更多请求时,问题可能已经升级。再次感谢您的宝贵时间。
    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多