上传数据时如何改善CloudKit服务器延迟

问题描述

我很难通过一系列的方式将数据上传到我的 CloudKit 容器 “修改记录”操作。我的应用程序中有一个上传器”功能,可以使用大量用户数据填充 CloudKit 私有数据库。在上传记录之前,我将记录批处理为多个 CKModifyRecordsOperations,每个操作最多包含 300 条记录。当我使用少量数据(甚至小于 50MB)执行此操作时,执行简单上传可能需要数十分钟。这包括一个强大的重试逻辑,该逻辑从任何超时操作中获取 ckerrorRetryAfterKey 键,并在延迟后重放它们(此后经常发生)。

我检查了 CloudKit 仪表板,对于容器的遥测部分,“服务器延迟”似乎非常高(95% 的百分位数超过 100,000)。它还表明过去几天的“平均请求大小”平均为 150KB,因为我一直在对此进行测试,这看起来并不多,但是每个操作的服务器响应时间平均为 10 秒!这似乎超级慢。

我试过限制请求,以便一次只发送 20 个修改操作,但这似乎没有帮助。我有每个记录类型的“recordName”字段的“查询”索引,以及记录类型上的一些自定义字段(尽管不是全部)的“查询、可搜索、可排序”索引。 CKModifyRecordsOperations 的配置将“qualityOfService”设置为“userInitiated”。但这些似乎都没有帮助。我不确定我还能尝试什么来改善“上传”时间(下载记录似乎按预期发生)。

还有什么我可以尝试缩短上传几千条记录所需的时间的吗?还是我无法控制?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)