![Azure Application Insight 上的可用性测试在所有位置均失败](https://linux22.com/image/719894/Azure%20Application%20Insight%20%E4%B8%8A%E7%9A%84%E5%8F%AF%E7%94%A8%E6%80%A7%E6%B5%8B%E8%AF%95%E5%9C%A8%E6%89%80%E6%9C%89%E4%BD%8D%E7%BD%AE%E5%9D%87%E5%A4%B1%E8%B4%A5.png)
我已在我们的一个 Web 应用上设置了可用性测试。在设置的五个位置上的测试全部失败,但当我访问该站点时,它已启动并运行。这不是时间问题,因为失败的测试不断出现,一旦我在 Azure 上看到报告的失败测试,我就会访问该站点(我也会收到电子邮件通知)。如果我单击失败的位置并单击“失败”结果项目那里没有太多信息。
响应主体如下
此步骤没有响应主体。
例外情况是
System.Exception:失败
**** 注意:这不是真正的网络请求 ****
1 个主要请求、0 个从属请求和 0 个条件规则失败
在今天发生此事件之前,应用服务运行正常。我遗漏了什么?
答案1
正如评论中提到的,我遇到了同样的问题。7 个位置中有 4 个失败(有时),在浏览器中导航到端点总是有效。
我发现失败的位置总是离我的位置很远。所以我推测这可能与网络(延迟)有关。
我在 Azure 云服务上运行 Kestrel 服务器,我发现有一种东西叫做最小请求体数据速率:
Kestrel 每秒检查一次数据是否以指定的速率(以字节/秒为单位)到达。如果速率低于最低值,则连接超时
此属性的默认值为 240 字节/秒,宽限期为 5 秒。因此,我将此速率降低到 100 字节/秒,宽限期为 10 秒。自从进行此更改后,我再也没有失败的测试位置。
不幸的是,我不熟悉 Azure Web 应用,因此我无法判断您是否可以更改这些设置。也许这些信息可以引导您找到正确的解决方案,或者帮助那些通过 Google 搜索找到答案的人。