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