【问题标题】:Azure AppInsights - Http Result code FaultedAzure AppInsights - Http 结果代码错误
【发布时间】:2020-06-17 19:23:30
【问题描述】:

我们已经在 Azure 中配置了 APIM、WebApp,然后连接 AppInsights Log 以获取详细信息以防失败。

我们正在 APIM 上进行负载测试。

在某一时刻,我们开始收到 500 错误代码,这意味着应用程序级别存在问题。

当我们仔细查看时,有一次,我们将 http 结果代码显示为“故障”,并且我们在 API、服务器下没有收到任何错误。

所以我想知道“故障”是什么意思?

【问题讨论】:

  • 从持续时间来看,GET请求似乎在大约20秒后超时。常见的罪魁祸首是线程不足或应用程序性能不佳。如果是线程,建议在所有 I/O 绑定活动上查看 async / await 或您的实现语言中的等效项。
  • 感谢斯图尔特的快速回复。我们在 5-10 秒内开始收到此错误,因此超时可能不是问题,并且服务器下的 CPU 使用率不会超过 25%
  • 由于 I/O 绑定工作导致的线程匮乏通常不会显示为高 CPU 使用率,除非由于线程池数量过多而发生大量上下文切换。

标签: azure azure-web-app-service load-testing azure-application-insights azure-api-management


【解决方案1】:

这是来自HttpCoreDiagnosticListener tracks exceptions 上的ApplicationInsights-dotnet 回购问题的解释

此问题与 DependencyCollection 模块有关,在发生 DNS 等客户端错误时跟踪异常事件以及 DependencyTelemetry。异常与 DependencyTelemetry 一起发送给用户 ikey。

如果未跟踪此异常,则 DependencyCollector 拥有的唯一信息是调用失败,并且 resultCode 为“Faulted”。在删除实际异常之前,我们应该修改结果代码以使其更有用。

顺便说一句,.NET Framework 的 DependencyCollection 不会跟踪此异常,因此使 netcore 的行为也相同有利于一致性点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 2013-10-27
    • 2014-01-17
    • 2014-05-17
    • 1970-01-01
    • 2012-12-03
    • 2014-10-16
    相关资源
    最近更新 更多