Azure App Service .NET Profiler
在App Service服务中,如果部署了.NET应用,平台有一个非常好的工具可以查看请求的性能分布及异常时的Stack Traces。
进入路径: App Service Azure Overview --> Networking(网络) --> Troubleshoot(排除故障) --> Collect .NET Profiler Trace
在收集 Profiler 跟踪之前应了解的内容
- 启动探查器跟踪后,通过浏览到 Web 应用重现问题。
- 探查器跟踪将在 60 秒后自动停止。
- 如果启用了线程报告选项,则还将收集进程内线程的原始堆栈跟踪。
- 使用线程报告选项,您的应用程序可能会暂停几秒钟,直到所有线程都完成DUMP收集。
- Web 应用不会因运行探查器而重新启动。
- 探查器跟踪将有助于识别 ASP.NET 或 ASP.NET Core 应用程序中的问题。
在收集完Profiler Trace后,它会帮助自动分析并生产报告。点击查看报告链接,会对当前收集响应慢的请求进行耗时分析:Application Code,Platform 和 Network
Application Code :应用程序代码表示在执行应用程序代码时调用的处理程序或模块所花费的时间(例如 ManagedPipelineHandler),或者与为应用程序完成的任何显式配置(例如 RewriteModule)密切相关的时间。任何外部或第三方处理程序、模块都属于这一类。不属于本机 IIS 处理程序或模块的任何内容都归类为应用程序。
Platform :平台表示请求在 Azure 应用服务中预安装的核心本机模块或 IIS 处理程序(例如 DefautlDocumentModule、StaticFileHandler 等)中花费的时间。请求在这些模块中花费过多时间可能表示整体平台存在问题,因此可以联系 Microsoft 支持部门以获取更多详细信息。
Network :这表示从客户端读取请求实体正文所花费的时间,或将响应缓冲区刷新回客户端所花费的时间。等待从应用程序发出的外部出站网络调用(如数据库、缓存、外部 HTTP 请求等)所花费的时间不计算在内,而是分组在“应用程序代码”下。
参考文档:https://www.cnblogs.com/lulight/articles/18081286