【发布时间】:2018-02-19 04:22:39
【问题描述】:
我正在尝试查找我的 ASP.NET(Nancy,OWIN/System.Web 托管)应用程序中的一些性能问题。
通过分析(即 Stackify 工具),我注意到某些请求结束时存在一些“差距”,这些不是不明显的调用(例如,不是数据库、HTTP、Redis 等)。
总结:
- 请求耗时 1289 毫秒
- “大多数”(热路径)被 SQL 查询占用。 (我现在对此很好,可以优化但不是这个问题的重点)
- 几个“未跟踪的应用程序代码”间隙,占用时间超过 500 毫秒。
特别是最后一个间隙(340 毫秒)我见过很多,是我调查的重点。
前缀允许custom code configuration 允许通过将程序集列入白名单来获取有关这些“间隙”的更多信息,但问题是我不知道这次花费的是哪个程序集。我的直觉是 Nancy/OWIN/一些依赖注入库等(我尝试将所有这些都列入白名单,但无济于事)。我只知道这不是我在此 URL 中的 立即 代码。
所以我的问题是:
- 关于如何找出该请求的完整和有序调用堆栈,然后将其用作前缀的白名单,有什么想法吗?我可以使用的工具?
- 关于如何追查这一差距的任何“中心偏左”的想法?另一个工具而不是 Prefix,它告诉我时间花在了哪里?
谢谢!
【问题讨论】:
-
您知道如何解决“未跟踪的应用程序代码”延迟问题吗?
标签: asp.net .net nancy stackify code-profiling