对不同 DC 中的 azure table 存储的请求越来越慢

Requests to azure table storage in different DC getting slower and slower

我的云服务将数据写入两个独立数据中心的两个 azure table 存储。当我以更大的负载测试服务时,与服务在同一数据中心的 table 存储保持延迟(大约 10 毫秒),但对另一个数据中心的操作(我认为它是来自西欧的美国东部 2)越来越慢,直到大约需要 5 秒。

我检查了存储监控,没有限制错误,所以我很确定我没有超过最大请求数。我看不到任何网络错误或类似的存储错误,所以我猜延迟一定是其他原因造成的。

我的云服务不是 cpu 密集型的。我尝试设置不重试策略,但没有错误,那些 table 操作成功,他们只是花费了很多时间。每个请求都有不同的分区键。云服务是 Asp.NET Web Api 运行ning 作为工作者角色,每个 table 操作是 运行 async.

这可能是什么问题? Azure 是否在数据中心之间限制请求?

只要您的应用程序在存储性能和可扩展性目标范围内 (http://azure.microsoft.com/en-us/documentation/articles/storage-scalability-targets/),请求就不会受到限制。 请参阅 Microsoft Azure 存储 MSDN 文章 (http://azure.microsoft.com/en-us/documentation/articles/storage-monitoring-diagnosing-troubleshooting/#troubleshooting-guidance) 的监控、诊断和故障排除下的故障排除指南部分,以了解高延迟的来源。

默认情况下,http 连接限制设置为两个。增加此限制意味着将同时处理两个以上的请求,这将提高性能。 http://tk.azurewebsites.net/2012/12/10/greatly-increase-the-performance-of-azure-storage-cloudblobclient/