首页 > 解决方案 > 通过 CDN 依赖的 Azure BlobStorage 失败,持续时间为 1.0 秒

问题描述

我们使用 Azure BlobStorage 帐户prod-example(性能/访问层:标准/热),并通过它的 Azure CDNprod-cdn-example-blob端点(通用 Web 交付)将图像提供给应用服务。

有时,在应用服务的 Application Insights 中,我在获取这些图像时会读取依赖失败,并且失败的请求的持续时间始终约为 1.0 秒。像这样的东西:

事件时间 1/8/2021, 12:20:39 AM(当地时间)
依赖类型 HTTP
依赖调用状态 false
依赖持续时间 1.0 s
远程依赖名称 HEAD /cache/4/f/8/a/0/5/4f8a05d3ec4f2b564eb9ce02e77b39d8f2d5f04b。 png
遥测类型依赖
Operation Id 2ec9b5cb70173b43bf70212635495218
Parent Id |2ec9b5cb70173b43bf70212635495218.ddfc26a7_
设备类型 PC
客户端 IP 地址 0.0.0.0 城市 城市
州或省
国家或地区 国家/地区 云角色名称instance-name
云角色 instance9.sdk版本
rddds. 0-23612
采样率 1
依赖 ID |2ec9b5cb70173b43bf70212635495218.ddfc26a7_3。
性能 1sec-
3sec 基本名称 prod-cdn-example-blob.azureedge.net

此特定图像为 21.76 KiB,因此应排除大图像。在查看日志时,我发现只有依赖持续时间为 1000 毫秒或以上的请求才会失败(事实上,95% 的失败的持续时间约为 1000 毫秒)。此外,我检查了某些失败的图像,在其他 20 次成功的依赖调用中,因此它不应该与特定图像相关。因此,在一种情况下,请求需要 1000 毫秒,而在所有其他情况下,需要 10 到 20 毫秒。

两天前,这些故障突然增加(当天总共 150 例)。清除 CDN 缓存后,问题停止了。一个小时后,偶尔的故障又回来了(总计每天 40 例)。

我希望我提供了正确/必要的信息。

什么可能导致此问题?有什么办法可以调整这个超时规则,在哪里?关于我可以分析什么以了解为什么某些请求需要这么长时间,是否还有其他想法?

编辑:附加信息:在我能够亲自重新创建未在 Web 应用程序上加载图像的问题的情况下,我在浏览器的响应标头中获得了图像项的 504 响应。

标签: asp.net-mvccachingazure-application-insightsazure-cdnazure-storage-account

解决方案


我创建了一个新的端点,缓存规则如下所示,试一试: 在此处输入图像描述

关于设置缓存规则的文档。


推荐阅读