何时从单独的计算机提供Windows Azure表存储分区?

时间:2012-05-25 12:41:28

标签: performance azure azure-storage performance-testing

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

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

(PartitionKey ==“a”&& RowKey ==“1”)|| (PartitionKey ==“b”&& RowKey ==“2”)

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

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

2 个答案:

答案 0 :(得分:2)

你提到的问题很糟糕。 Windows Azure存储不会优化这样的OR查询,因此会导致全表扫描。您肯定希望自己并行启动两个查询并将结果联合起来(在这种情况下,只返回两个实体)。

要真正回答你的问题,我知道无法强制表存储来重新平衡分区。

答案 1 :(得分:0)

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

下面的链接有一个实验,其中“我能够通过使用365个线程读取365,000行,并且我平均获得的数据大约为7秒。对于使用30个线程分布在30个分区上的30,000行,我进行了平均1.4秒。巨大胜利!“,值得一试!!

Azure Table Storage Performance from Massively Parallel Threaded Reading