如何在 Cosmos DB 中测试多区域写入
How to test multi-region write in Cosmos DB
我将使用 cosmos c# v3 SDK 编写一些测试代码来测试多区域写入功能。
我计划拥有一个具有三个区域的支持多区域写入的 cosmos DB(SQL 核心 API)。我想写入一个特定区域,然后从其他区域读取。在做的同时,我也想衡量性能。
有什么方法可以实现这些类型的测试吗?性能指标之类的衡量性能有什么好处吗?我还想改变一致性级别并查看延迟。
根据您要执行的测试类型,此 Cosmos DB Global Distribution Demos GitHub Repo 中的基准测试可能会有一些帮助。由于基准是从 app.config 文件驱动的数据,因此有一点学习曲线。但是一旦你在 app.config 中获得了 URI 和密钥,你就可以开始了。
值得指出的一点是,在为 multi-region 写入配置时,在不同区域测试多个写入器和读取器时更改一致性级别是没有意义的,因为在这种情况下您将始终具有最终一致性。有关详细信息,请参阅 Guarantees associated with consistency levels。
另一件需要指出的事情是你不能配置 multi-region 具有强一致性的写入。有关详细信息,请参阅 Strong consistency and multiple write regions
我将使用 cosmos c# v3 SDK 编写一些测试代码来测试多区域写入功能。
我计划拥有一个具有三个区域的支持多区域写入的 cosmos DB(SQL 核心 API)。我想写入一个特定区域,然后从其他区域读取。在做的同时,我也想衡量性能。
有什么方法可以实现这些类型的测试吗?性能指标之类的衡量性能有什么好处吗?我还想改变一致性级别并查看延迟。
根据您要执行的测试类型,此 Cosmos DB Global Distribution Demos GitHub Repo 中的基准测试可能会有一些帮助。由于基准是从 app.config 文件驱动的数据,因此有一点学习曲线。但是一旦你在 app.config 中获得了 URI 和密钥,你就可以开始了。
值得指出的一点是,在为 multi-region 写入配置时,在不同区域测试多个写入器和读取器时更改一致性级别是没有意义的,因为在这种情况下您将始终具有最终一致性。有关详细信息,请参阅 Guarantees associated with consistency levels。
另一件需要指出的事情是你不能配置 multi-region 具有强一致性的写入。有关详细信息,请参阅 Strong consistency and multiple write regions