c# - 对不同 DC 中的 Azure 表存储的请求变得越来越慢

标签 c# performance azure azure-table-storage azure-cloud-services

我的云服务将数据写入两个独立数据中心的两个 Azure 表存储。当我测试具有较大负载的服务时,表存储在与服务相同的数据中心中,保持其延迟(大约 10 毫秒),但对另一个数据中心(我认为是来自西欧的东美国 2)的操作变得越来越慢,并且放慢速度,直到大约需要 5 秒。

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

我的云服务不占用 CPU 资源。我尝试设置不重试策略,但是没有错误,那些表操作是成功的,只是花费了很多时间。每个请求都有不同的分区键。云服务是作为辅助角色运行的 Asp.NET Web Api,每个表操作都是异步运行的。

这里可能出现什么问题? 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 ) 下的故障排除指南部分,了解高延迟的根源。

关于c# - 对不同 DC 中的 Azure 表存储的请求变得越来越慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29777184/

相关文章:

c# - 如何捕获 ClearScript.V8 中的更新事件?

c - 分支预测器条目在程序完成后失效?

C++ 容器性能问题

c - 确定与数组中的间隔匹配的值的最快方法

t-sql - 使用 TSQL 检查 Azure Blob 是否存在

azure - 使用 BICEP 部署资源时,是否有办法附加标签而不是替换标签?

c# - SignalR:调用返回值的方法

c# - 无法确定 COM 引用 "Microsoft.Office.Interop.Excel"的依赖关系

C# listview - 嵌入控件

azure - 如果我不在 azure 服务总线中调用 IMessageSession 的 CloseAsync 和 CompleteAsync 方法,会发生什么情况?