繁体   English   中英

在Azure中下载Blob时出现间歇性错误

[英]Intermittent error while downloading blobs in Azure

在运行于Azure上的Web应用程序中,当网站负载沉重时,我似乎在Windows事件日志中大约每10分钟出现一次这些错误

The server encountered an unknown failure: The operation has timed out
Stack Trace:
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
at Microsoft.WindowsAzure.StorageClient.RequestWithRetry.RequestWithRetrySyncImpl[TResult](ShouldRetry retryOracle, SynchronousTask`1 syncTask)
at Microsoft.WindowsAzure.StorageClient.CloudBlob.DownloadByteArray(BlobRequestOptions options)

但是它并不是一直,只是不时地,我真的不知道如何诊断它,甚至不知道为什么会发生这种情况。

我可以为您提供一些示例代码吗? 您需要看什么? 不幸的是,该应用程序处于NDA之下,因此我无法谈论具体细节或付出太多。

我也将其交叉发布在MS论坛上,我将分享在任何网站上获得的所有答案。 目前这是一个实际的生产问题,非常感谢您的任何帮助。

您提到在重负载下会发生这些错误。 有一些因素可能导致存储间歇性错误:

  • 网络带宽。 你得到约。 每个内核100Mbps。 您能否使计算和存储之间的网络带宽饱和? 我猜您有多个角色实例,这将减少遇到此特定问题的可能性。
  • 每个项目的吞吐量和交易率。 每个Blob(有效地存储在其自己的分区中)的目标速度为60MB / s。 您是否有多个相同对象的读取器? 如果是这样,则由于吞吐量或事务计数(每个对象的目标是500个事务/秒)中有太多读者请求同一对象而导致超时。
  • 每个帐户的交易率。 一个存储帐户的总体规模目标是每秒5,000个事务。 同时访问足够的Blob,您有可能超过此限制。

有关可伸缩性目标的更多详细信息,请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM