Dynatrace:在 .Net 应用程序中增加锁定时间

Dynatrace More lock time in .Net application

提问人:SARAVAN 提问时间:9/19/2023 更新时间:9/29/2023 访问量:94

问:

我有一个生产中的应用程序。Angular UI---->UI 控制器 (.Net)----->Web API 控制器 (.Net)----->数据库,在所有服务器中运行 dynatrace oneagent。

我看到特定时间范围内响应时间超过一分钟的特定呼叫峰值。例如,一个特定的呼叫结束需要 56 秒,而不是预期的 5 秒。在检查 dynatrace 方法热点时,我看到在点击 API 和数据库之前,在 ManualResetEventslim.wait 的 UI 控制器上花费了更多时间(大约 55 秒)。在 55 秒结束时,它到达 API 和数据库,只需 780 毫秒即可执行。

我的问题是: 为什么当它需要简单地调用 API 和 db 时,它会在 UI Controller 中等待? 350 个用户使用该应用程序。平均每天发出 45000 个 Web 请求 是什么原因导致UI控制器中的等待?我无法进一步深入研究,因为 dynatrace 将此方法 ManualResetEventslim.wait 显示为死胡同。如果它突出显示它,我可以深入研究我的代码,但现在我被卡住了。

asp.net 性能 ASP.NET-MVC-4 Dynatrace 应用程序监控

评论


答:

0赞 Jihad Haddad 9/29/2023 #1

我们可能遇到了同样的问题,我们怀疑是 dynatrace。 您运行的是哪个版本的 OneAgent? 您是否有与 Dynatrace introspective 相关的堆栈跟踪,并包含以下命名空间:Dynatrace.OneAgent.Introspection

我们的事件是周期性的,每次只持续大约 10 分钟。在 4 天内,我们发生了大约 4 起此类事件。

此外,我们还看到了其他一些非常奇怪的行为,这些行为表明正在运行的二进制文件突然但永久损坏,其症状是类型冲突。例外情况包括:

"type argument '<ourtype>' violates the constraint of type parameter 'some other type'".