同步生产负载测试
Atlas Device Sync 、 Atlas Edge Server 、 Data API和HTTPS endpoints均已弃用。 有关详细信息,请参阅弃用页面。
Overview
负载测试是指在应用投入生产后模拟用户将向应用发出的请求。 其目标是衡量性能,并在问题发生在真实用户身上之前识别和解决问题。
推荐策略
使用 Node.js SDK 模拟移动应用的常见单用户工作负载。 例如,您可以使用该 SDK 执行以下操作:
打开一定数量的同步 Realm。
对同步 Realm 进行一定数量的写入。
模拟后端服务器调用(例如,通过调用 Atlas Function)。
模拟的具体细节取决于应用的实际工作负载。 实例,您可以打开已在服务器初始化同步数据的 Realm 来模拟使用案例。您可以打开不同的 Realm 来模拟写入工作负载。 这些 Realm 可能是每用户共享或私有 Realm 的组合,具体取决于您的使用案例。 您可以使用共享 Realm 来测试冲突解决速度并发现任何问题。 因此,请考虑如何在实际应用中使用 Realm 数据库来设计模拟。
注意
Node.js SDK 使用与移动(iOS、Android、.NET 等)SDK 相同的底层 C++ 数据库和同步客户端。 因此,您可以使用与生产移动应用中相同的代码路径,同时受益于 Node.js 的无头服务器环境。
然后,您可以将单用户模拟部署到数百或数千个节点,以测试真正的多用户工作负载。例如:
将应用打包到 Docker 容器中。
将容器部署为 Kubernetes 作业的一部分。
调整作业参数,使其与实际生产工作负载相匹配。
测量完成 Kubernetes 作业所需的时间,以计算整体性能。
您可以使用各种基于云的 Kubernetes 即服务产品。