2

有没有办法强制 Windows Azure 表存储分区到不同的物理硬件?Windows Azure MSDN 博客说环境自动负载平衡服务器之间的分区,但我无法执行压力测试,我可以量化地看到两个分区位于不同的实际机器上。

考虑查询中的以下过滤器:

(PartitionKey == "a" && RowKey == "1") || (PartitionKey == "b" && RowKey == "2")

如果两个分区位于不同的物理机上,则查询可以并行方式执行,同时寻址两个分区服务器,因此它的评估速度更快。但是,我似乎无法找到一种方法来实际衡量这种性能提升。

分区更重要的是什么?表中的数据量或此处提到的分区上 500 次查询/秒的限制。

4

2 回答 2

2

您提到的查询是一个不好的查询。Windows Azure 存储不会像这样优化 OR 查询,因此会导致全表扫描。您肯定希望自己并行触发两个查询并将结果合并(在这种情况下,只是返回的两个实体)。

要真正回答您的问题,我知道没有办法强制表存储重新平衡分区。

于 2012-05-26T00:26:16.130 回答
0

您可以使用并行线程读取获得卓越的性能(在 500 个查询/秒/分区和 5000 个/事务/秒/存储帐户的限制下),并根据您的压力测试添加更多线程。

下面的链接有一个实验,其中“我能够使用 365 个线程读取 365,000 行,平均大约 7 秒获得数据。对于使用 30 个线程分布在 30 个分区上的 30,000 行,我平均需要 1.4 秒。巨大的胜利!”,值得检查!

来自大规模并行线程读取的 Azure 表存储性能

于 2012-05-25T14:56:09.133 回答