Azure存储Blob错误 - AnonymousClientOtherError和AnonymousNetworkError

问题描述 投票:1回答:1

我有一个移动应用程序,我将图像放在Azure存储Blob中。当我们的几个人(测试和测试版)测试时,这一切都很好。但是当我们将它发布到测试阶段并且有数百个(可能超过一千个)用户使用时,很多人都报告他们看不到图像。它发生在他们的iPhone以及许多不同品牌的Android手机上。有时,对于相同的图像,在一部手机上它是好的,但在另一部手机上它没有显示。

当我检查blob日志时,我看到了很多错误,主要是这两个:

  1. AnonymousClientOtherError; 304

“匿名请求按预期失败,最常见的是指定前置条件失败的请求.GET请求的前置条件检查失败的匿名请求总数(如If- Modified等)。示例:未通过检查的条件GET请求。 “ (来自微软)

  1. AnonymousNetworkError; 200

“此错误的最常见原因是客户端在存储服务中的超时到期之前断开连接。您应该调查客户端中的代码以了解客户端与存储服务断开连接的原因和时间。您还可以使用Wireshark,Microsoft Message分析器或Tcping来调查来自客户端的网络连接问题。“(来自Microsoft) - 这里的一个问题,这是一个错误,但为什么它是200?

我想知道这些是导致我问题的原因吗?

对于第一个,根据我的理解,它实际上并不是一个错误,它只是说缓存的版本客户端与服务器版本相同。但是当我的客户端看到这个响应时,它认为这是一个错误并抛出异常,因此没有显示图像? (我实际上将我的客户端外包,所以我只能猜测)

对于第二个,是因为我的客户端超时短于服务器端的超时?但超时是连接超时还是套接字超时?客户端和Azure Blob上的默认值是什么?

我的Azure服务器位于东亚(香港),但我的用户位于中国大陆。我想知道这是否会引起问题?但是当一些用户在中国进行测试时,这一切都很好。

许多图像实际上非常小,只有一到两百k。有些只有11k。

我无法弄清楚是什么原因......

azure azure-storage azure-storage-blobs
1个回答
0
投票

这些公众可访问的图像?如果是,我们建议使用CDN为Azure中的blob提供服务,因为在扩展消费者数量时,您可能会达到单个流行图像的限制限制。

此外,确保应用程序与Azure存储之间不存在网络问题,这可能会导致最终用户客户端在存储服务超时到期之前断开连接。第一步是使用Wireshark或Microsoft Message Analyzer来调查网络连接问题。请按照“监视”附录中的“使用Wireshark捕获网络流量”(http://azure.microsoft.com/en-us/documentation/articles/storage-monitoring-diagnosing-troubleshooting/)部分,对Microsoft Azure存储进行诊断和故障排除,以确定问题是由网络丢弃引起的。

© www.soinside.com 2019 - 2024. All rights reserved.